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=97http://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=97http://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.jar3.安裝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,省略的.)