2016-12-07html
1 安裝JDK
1.1 下載JDK
1.2 安裝和配置JDK
1.3 驗證
2 安裝Eclipse
2.1 下載Eclipse
2.2 安裝
3 安裝Tomcat
3.1 下載Tomcat
3.2 安裝及配置
3.3 驗證
4 安裝axis2
4.1 下載axis2
4.2 在tomcat中部署axis2
4.3 在eclipse中配置axis2
5 創建要發佈的Web Service
6 發佈Web Service
7 編寫客戶端代碼調用WebServiceweb
參考apache
返回瀏覽器
JDK下載地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.htmltomcat
驗證一下是否搭建成功 打開CMD,輸入: java -versionoracle
返回app
下載地址: https://www.eclipse.org/downloads/packages/release/Indigo/SR2,下載「Eclipse IDE for Java EE Developers」eclipse
解壓便可使用。這裏解壓到 D:\Program Files\eclipse-jee-indigo-SR2-win32-x86_64\webapp
下載地址: http://tomcat.apache.org/download-70.cgi
以「管理員身份運行」 D:\tomcat\bin\startup.bat
axis主頁面:http://ws.apache.org/axis2/download.cgi
下載地址:http://mirror.bit.edu.cn/apache/axis/axis2/java/core/1.7.4/
下載axis2-1.7.4-bin.zip,解壓到:D:\Dev\axis2-1.7.4 ,lib目錄下的jar包是WebService業務開發須要的庫文件
下載axis2-1.6.2-war.zip,解壓到tomcat的webapps目錄下(D:\tomcat\webapps),重啓tomcat,會發現webapps目錄下多了axis2文件夾,在瀏覽器裏輸入http://localhost:8080/axis2,會發現對應的網頁,說明已經成功了
打開Eclipse,Windows->Preferences下new一個User Libraries,命名爲axis2,將下載axis2-1.7.4-bin.zip解壓到:D:\Dev\axis2-1.7.4,把該目錄下lib 下的包均添加進來,以下圖所示。這一步操做的目的是爲了之後工程方便添加axis2所需的 jar文件。
package Services; public class Hello { public String sayHi(String user) { return "Hi, "+ user; } }
1. 編譯剛剛創建的Hello類,類編譯後,會在workspace中對應工程目錄下的bin文件夾下生成Hello.class文件
2. 打包要發佈的Service, 點擊Eclipse中New -> File -> Other -> Axis2 wizards -> Axis2 Services Archiver
3. 按上圖填寫,class File Location爲工做目錄對應項目的bin文件夾,並勾上Include .class files only,點擊next
4. 默認選擇Skip WSDL,點擊next
5. 默認,繼續next
6. 默認,繼續next
7. 如上圖所示,Class name請務必設爲Services.Hello,表明使用的類是D:\Users\...\workspace\HelloWorld\bin路徑下,文件夾Services下的Hello類,不然Load不上的。
8. 如上圖所示,output file location務必填寫tomcat目錄的axis2\web-inf\services下,點擊Finish後,能夠發現:D:\tomcat\webapps\axis2\WEB-INF\services目錄下增長了sayHi_service.aar
9. 測試所發佈的Web Service
打開http://localhost:8080/axis2/services/listServices頁面,能夠看到HelloWorld服務:
點擊HelloWorld連接進入wsdl頁面
在src包中建包Client,創建myClient類以下:
package Client; import javax.xml.namespace.QName; import org.apache.axis2.AxisFault; import org.apache.axis2.addressing.EndpointReference; import org.apache.axis2.client.Options; import org.apache.axis2.rpc.client.RPCServiceClient; public class myClient { public static void main(String[] args) throws AxisFault { // 使用RPC方式調用WebService RPCServiceClient serviceClient = new RPCServiceClient(); Options options = serviceClient.getOptions(); // 指定調用WebService的URL EndpointReference targetEPR = new EndpointReference("http://localhost:8080/axis2/services/HelloWorld"); options.setTo(targetEPR); // 指定要調用的sayHelloToPerson方法及WSDL文件的命名空間 QName opAddEntry = new QName("http://Services", "sayHi"); // 指定sayHelloToPerson方法的參數值 Object[] opAddEntryArgs = new Object[] { "John" }; // 指定sayHelloToPerson方法返回值的數據類型的Class對象 Class[] classes = new Class[] { String.class }; // 調用sayHelloToPerson方法並輸出該方法的返回值 System.out.println(serviceClient.invokeBlocking(opAddEntry, opAddEntryArgs, classes)[0]); } }
運行該程序,點擊Run As->Java application,能夠看到控制檯端口的輸出是:Hi, John
[1] Eclipse+axis2+tomcat進行web部署