你大娘已經不是你從前的大娘,你大爺依舊是你大爺 |
構建Webservice工程
下載附件/Files/heyongjin/webservice.doc
1、 創建一個工程
2、 導入Jar包
3、 在部署描述符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> |
4、 編寫服務端程序
package com.axis; publicclass ServerAxis { public String remoteMethod(String message) { return"Your Message is : " + message; } } |
5、 編寫客戶端測試程序
package com.axis; import java.rmi.RemoteException; import javax.xml.namespace.QName; import javax.xml.rpc.ServiceException; import org.apache.axis.client.Call; import org.apache.axis.client.Service; publicclass ClientAxis { publicstaticvoid main(String []args){
try { String url = "http://127.0.0.1:9090/Webservice/services/ServerAxisWSDD"; Service service = new Service(); Call call = (Call) service.createCall(); call.setTargetEndpointAddress(url); call.setOperationName(new QName(url,"remoteMethod")); String result = (String) call.invoke(new Object[]{"Hello AXIS!"}); System.out.println(result); } catch (ServiceException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (RemoteException e) { // TODO: handle exception } } } |
6、 編寫發布文件WEB-INF"deploy.wsdd
<deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java"> <service name="ServerAxisWSDD" provider="java:RPC"> <parameter name="className" value="com.axis.ServerAxis"/> <parameter name="allowedMethods" value="*"/> <parameter name="scope" value="request"/> </service> </deployment> |
7、 發布AXIS
首先將工程發布到tomcat,啟動應用,通過windows控制臺進入%TOMCAT%"webapps"ProjName"WEB-INF目錄下鍵入如下命令:
Java –Djava.ext.dirs=lib org.apache.axis.client.AdminClient –l http://localhost:8080/ ProjName/services/ServerAxisWSDD deploy.wsdd