JAXWS服务器端创建及发布(一)
此例子描述的是如何创建jaxws的服务器端代码过程,以及如何发布
手动创建终端类文件JaxwsTest.java
然后借用wsgen工具依照以下步骤生成相应文件。
D:\Java\jdk1.6.0_10\bin>
wsgen -cp E:\project\javaproject\reference\build\classes -keep -d E:\project\javaproject\reference\build\classes -r E:\project\javaproject\reference\src\JAXWS\conf -wsdl JAXWS.JaxwsTest
-classpath <path>
指定服务实现类所在的位置。
-cp <path>
此参数与 -classpath <path> 的功能相同。
-r <directory>
此参数仅与 -wsdl 参数一起使用。它指定用于放置生成的 WSDL 文件的位置。
-wsdl [:protocol]
缺省情况下,wsgen 不会生成 WSDL 文件。此可选参数将导致 wsgen 生成 WSDL 文件,
它通常只用来允许开发者在部署端点之前复查 WSDL 文件。protocol 是可选的,它指定 wsdl:binding 中所使用的协议。
protocol 的有效值为 soap 1.1 和 Xsoap 1.2 。缺省值为 soap 1.1 。值 Xsoap 1.2 不是标准的,只能与 -extension 选项一起使用。
-keep
指定是否保留已生成的源文件
-d <directory>
指定用于放置生成的输出文件的位置。
(注意:一些二进制的文件直接生成在相应的目录中,build)
(注意:在服务端点实现文件中,不仅是定义了接口,并且也做了相应的接口实现。参照scanner6051的WebServiceFacadeDelegate.java文件)
如何发布出去呢?
与web.xml文件平级的发布sun-jaxws.xml文件
并且在web.xml文件中配置如下:
<servlet>
<description>
JAX-WS endpoint - WebServiceFacadeService
</description>
<display-name>WebServiceFacadeService</display-name>
<servlet-name>WebServiceFacadeService</servlet-name>
<servlet-class>
com.sun.xml.ws.transport.http.servlet.WSServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>WebServiceFacadeService</servlet-name>
<url-pattern>/WebServiceFacadePort</url-pattern>
</servlet-mapping>