天天看点

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接口