eclipse3.1+lomboz+axis+weblogic 开发JAX-RPC webservice 小例子

来源:互联网 发布:赚q币软件 编辑:程序博客网 时间:2024/05/21 11:12
 
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,省略的截图.)
 
原创粉丝点击