eclipse3.1+lomboz+axis+weblogic
开发
JAX-RPC webservice
小例子
1.安装lomboz插件.
下载emf-sdo-runtime-I200412160800
下载的文件名:emf-sdo-runtime-I200412160800.zip,是Lomboz插件所需要的运行环境,objectweb官方网站下载网址:
http://forge.objectweb.org/
http://forge.objectweb.org/project/showfiles.php?group_id=97
http://forge.objectweb.org/project/download.php?group_id=97&file_id=3039
下载org.objectweb.lomboz_3.1.0.N20050106
下载的文件名:org.objectweb.lomboz_3.1.0.N20050106.zip,是Eclispe的Lomboz插件,objectweb官方网站下载网址:
http://forge.objectweb.org/
http://forge.objectweb.org/project/showfiles.php?group_id=97
http://forge.objectweb.org/project/download.php?group_id=97&file_id=3060
安装emf-sdo-runtime-I200412160800
直接将emf-sdo-runtime-I200412160800解压到上面刚刚安装的Eclipse目录中去,注意不要将目录解压错了。
安装org.objectweb.lomboz_3.1.0.N20050106
直接将org.objectweb.lomboz_3.1.0.N20050106解压到Eclipse对应的plugins,注意不要将目录解压错了。
2.下载axis包.
a、到 http://xml.apache.org 网站下载Axis安装包。
b、将Axis相关包文件放在WEB-INF/lib目录下。
c、Axis可选的包:activation.jar; mail.jar; xmlsec.jar
3.安装weblogic服务器.(忽略)
样例:
4.创建一个javabean
package com.ws.javabean;
public class JavaBeanWS {
public String getJavaBeanWs(String name)
{
return "Hello "+name+", this an AXIS Java Bean Web Service!";
}
}
5.用lomboz 创建一个ejbModule.
6.将刚创建的javabean 加入到jebModule.
7.发布webService 到web服务器
(1.)
在web.xml
中配置AxisServlet.
<
servlet
>
<
servlet-name
>
AxisServlet
</
servlet-name
>
<
display-name
>
Apache-Axis Servlet
</
display-name
>
<
servlet-class
>
org.apache.axis.transport.http.AxisServlet
</
servlet-class
>
</
servlet
>
<
servlet-mapping
>
<
servlet-name
>
AxisServlet
</
servlet-name
>
<
url-pattern
>
/servlet/AxisServlet
</
url-pattern
>
</
servlet-mapping
>
<
servlet-mapping
>
<
servlet-name
>
AxisServlet
</
servlet-name
>
<
url-pattern
>
*.jws
</
url-pattern
>
</
servlet-mapping
>
<
servlet-mapping
>
<
servlet-name
>
AxisServlet
</
servlet-name
>
<
url-pattern
>
/services/*
</
url-pattern
>
</
servlet-mapping
>
(2)
创建基于java Bean web Servic的server-config.wsdd
<deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
<handler type="java:org.apache.axis.handlers.http.URLMapper" name="URLMapper"/>
<service name="getJavaBeanWsService" provider="java:RPC">
<parameter name="className" value="com.ws.javabean.JavaBeanWS"/>
<parameter name="allowedMethods" value="getJavaBeanWs"/>
</service>
<transport name="http">
<requestFlow>
<handler type="URLMapper"/>
</requestFlow>
</transport>
</deployment>
在完成
server-config.wsdd
之后,将它放在Web应用的WEB-INF目录下面.然后和web程序一起打成war包.使用在webmodule上使用lomboz提供的deploy功能将整个web应用发布到weblogic9.1服务器上.
8.
客户端测试程序:
package com.ws.javabean;
import java.net.MalformedURLException;
import java.rmi.RemoteException;
import javax.xml.rpc.ServiceException;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
public class JavaBeanWSTestor {
/**
* @param args
* @throws ServiceException
* @throws MalformedURLException
* @throws RemoteException
*/
public static void main(String[] args) throws ServiceException, MalformedURLException, RemoteException {
String endpoint = "http://localhost:" +"7001"+ "/webModule/services/getJavaBeanWsService";//
指明服务所在位置
Service service = new Service(); //
创建一个Service实例,注意是必须的!
Call call = (Call) service.createCall();//
创建Call实例,也是必须的!
call.setTargetEndpointAddress( new java.net.URL(endpoint) );//
为Call设置服务的位置
call.setOperationName( "getJavaBeanWs" );//
注意方法名与JavaBeanWS.java中一样!!
String res = (String) call.invoke( new Object[] {"Aihu"} );//
返回String,传入参数 "Aihu"
System.out.println(res);
}
}
测试结果: Hello!lightao,this an axis java Bean web service!
(
备注:由于时间问题,本文省略的很多细节,使用本小例的前提:配置使用过
lomboz
和
weblogic,
省略的截图
.
)