1.先下載axis-bin-1_4拿到所需要的jar包
我用的jar如下:

1.在eclipse中創建web項目
2.再把jar包COPY到lib目錄下
3.在web.xml中加入以下代碼:
<listener>
<listener-class>org.apache.axis.transport.http.AxisHTTPSessionListener</listener-class>
</listener>
<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>
<servlet-name>AdminServlet</servlet-name>
<display-name>Axis Admin Servlet</display-name>
<servlet-class>
org.apache.axis.transport.http.AdminServlet
</servlet-class>
<load-on-startup>100</load-on-startup>
</servlet>
<servlet>
<servlet-name>SOAPMonitorService</servlet-name>
<display-name>SOAPMonitorService</display-name>
<servlet-class>
org.apache.axis.monitor.SOAPMonitorService
</servlet-class>
<init-param>
<param-name>SOAPMonitorPort</param-name>
<param-value>5001</param-value>
</init-param>
<load-on-startup>100</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>AxisServlet</servlet-name>
<url-pattern>/services/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>SOAPMonitorService</servlet-name>
<url-pattern>/SOAPMonitor</url-pattern>
</servlet-mapping>
4.創建服務端類
package server;
public class SayHello {
public String getName(String name)
{
return "hello "+name;
}
}
5.編寫WebRoot\WEB-INF\deploy.wsdd文件
<deployment xmlns="<parameter name="className" value="server.SayHello"/>
<parameter name="allowedMethods" value="*"/>
<parameter name="scope" value="request"/>
</service>
</deployment>
6.在tomcat中啟動項目
7.
打開cmd 進入 目錄 :WEB-INF\
輸入部署命令(注意更改命令中服務的地址和端口)
java -Djava.ext.dirs=lib org.apache.axis.client.AdminClient -lhttp://localhost:8080/axis/services deploy.wsdd
若顯示
Processing file deploy.wsdd
<Admin>Done processing</Admin>
則表示發布服務成功
8.在瀏覽器中輸入地址
http://localhost:8080/axitDemo/services
會顯示你所發布的服務
And now... Some Services
點擊 SayHello (wsdl) 便會顯示其XML ,點右健,查看源文件,保存XML為WebRoot\WEB-INF\SayHello.xml
9.創建客戶端
編寫axitDemo\WebRoot\WEB-INF\make.bat文件 內容如下
java -cp ".;lib\axis-ant.jar;lib\axis.jar;lib\commons-discovery-0.2.jar;lib\commons-logging-1.0.4.jar;lib\jaxrpc.jar;lib\log4j-1.2.8.jar;lib\log4j.properties;lib\saaj.jar;lib\wsdl4j-1.5.1.jar" org.apache.axis.wsdl.WSDL2Java -p %1 %2
10. 打開cmd進入WEB-INF目錄
執行命令: make com.webserivce SayHello.xml
成功后會在WEB-INF目錄下生成
com.webserivce 包下面會有java類 如下圖:

COPY com.webserivce包到SRC目錄下
12.編寫客戶端測試Client 類
package client;
import java.rmi.RemoteException;
import com.webserivce.SayHelloServiceLocator;
import com.webserivce.SayHello_PortType;
public class Client {
private SayHello_PortType dataService;
public Client()throws Exception{
SayHelloServiceLocator service= new SayHelloServiceLocator();
this.setDataService(service.getSayHello());
}
private String getName(String name) throws RemoteException{
return dataService.getName(name);
}
public static void main(String[] args)throws Exception {
Client c = new Client();
String a = c.getName("Test axis!");
System.out.println(a);
}
public SayHello_PortType getDataService() {
return dataService;
}
public void setDataService(SayHello_PortType dataService) {
this.dataService = dataService;
}
}
運行Client 類
hello Test axis!
整個過程就完成啦。。。。。
posted on 2011-05-25 11:53
梓楓 閱讀(939)
評論(0) 編輯 收藏 所屬分類:
webservice