十一、用工具產生代碼

來源:互聯網
上載者:User

1、 用Axis提供的WSDL2java工具類產生代碼,命令如下:

C:\SoftWare\tomcat-5.0.28\tomcat-5.0.28\webapps\AxisWebService\WEB-INF>java -Djava.ext.dirs=lib org.apache.axis.wsdl.WSDL2Java -s http://localhost:8080/AxisWebService/services/HelloWorldWSDD?wsdl –o c:\

-s 是設定wsdl的路徑url和是當前物理硬碟上的wsdl檔案(可以將頁面上的wsdl的xml檔案另存新檔一份試試,也是可以的)

-o 是設定轉換的檔案的輸出目錄

上面的命令會生產伺服器端的實現代碼和用戶端的調用代碼。代碼檔案如下:

 

deploy、undeploy是發布、卸載WebService的wsdd檔案

HelloWorldWSDD是伺服器端代碼介面檔案,繼承了Remote介面,定義了getAge、sayHello方法

HelloWorldWSDDService是獲得當前Service執行個體的介面

HelloWorldWSDDServiceLocator實現了HelloWorldWSDDService介面,用戶端在調用當前WebService時候有用

HelloWorldWSDDSoapBindingImpl當前WebService介面HelloWorldWSDD的實現,需要自己實現方法的業務

HelloWorldWSDDSoapBindingStub看結尾的Stub就知道,這個可以完成用戶端的實現,用它就可以調用到WebService的方法

 

下面用WSDL2Java產生的程式碼調用WebService,注意你還得用dos命令將上面的服務通過deploy.wsdd發布出去。下面是調用代碼:

 

代碼

package localhost.AxisWebService.services.HelloWorldWSDD.clientimpl;

import java.net.MalformedURLException;
import java.net.URL;
import java.rmi.RemoteException;
import javax.xml.rpc.ServiceException;
import localhost.AxisWebService.services.HelloWorldWSDD.HelloWorldWSDDServiceLocator;
import localhost.AxisWebService.services.HelloWorldWSDD.HelloWorldWSDDSoapBindingStub;

public class Client {
public static void main(String[] args) throws ServiceException, RemoteException, MalformedURLException {
String target = "http://localhost:8080/AxisWebService/services/HelloWorldWSDD";
HelloWorldWSDDServiceLocator service = new HelloWorldWSDDServiceLocator();
HelloWorldWSDDSoapBindingStub stub = new HelloWorldWSDDSoapBindingStub(new URL(target), service);

System.out.println(stub.getAge(22));
System.out.println(stub.getName("張三"));
}
}

 

 

用自動產生的程式碼完成用戶端調用比較簡單,如果你的WebService的實現版本是JAX-WS2.0就可以用MyEclipse的WebService外掛程式工具協助我們生產代碼,如:axis2就可以,下次會介紹Axis2.x的用法。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.