天天看點

Java:如何使用JAX-WS生成WebService

  (1)、使用@WebService跟@WebMethod,寫一個端點實作類

  (2)、根據端點實作類,使用wsgen生成wsdl

例如:

C:/Java/jdk1.6.0_11/bin>wsgen -cp D:/eclipse3.5/workspace/Jaxb/bin -keep -d D:/eclipse3.5/workspace/Jaxb/src -r D:/eclipse3.5/workspace/Jaxb/conf -wsdl com.test.console.hello.Hello

    會在D:/eclipse3.5/workspace/Jaxb/src下的com.test.console.hello.jaxws包中生成代碼,在D:/eclipse3.5/workspace/Jaxb/conf中生成WSDL

    通過wsdl生成java類的方法如下:

C:/Java/jdk1.6.0_11/bin>xjc -d D:/eclipse3.5/workspace/Jaxb/src/ -p com.test.console.helloworld -wsdl D:/eclipse3.5/workspace/Jaxb/conf/HelloWorld.wsdl  -no-header

  (3)、使用wsimport從wsdl中生成可移植的制品

C:/Java/jdk1.6.0_11/bin>wsimport -keep -p com.test.console.hello  -d D:/eclipse3.5/workspace/Jaxb/src D:/eclipse3.5/workspace/Jaxb/conf/HelloService.wsdl -b D:/eclipse3.5/workspace/Jaxb/conf/HelloService_schema1.xsd

 或

C:/Java/jdk1.6.0_11/bin>wsimport -keep -p com.abc.sample.client  -d D:/eclipse3.5/workspace/jaxws/src http://127.0.0.1:8080/jaxws/hello?wsdl -b http://127.0.0.1:8080/jaxws/hello?xsd=1

wsimport與xjc的差別在于wsimport會多生成WebService類和WebServicePortType接口