前面一篇《[url="http://piggy.iteye.com/blog/322565"]jbossws快速入门[/url]》指出,使用jax-ws开发web service难度大大减低。本文再以Metro为示例,写一个简短的教程。
注:Metro,是GlassFish服务器的子项目,大家可以浏览[url="https://jax-ws.dev.java.net/"]jax-ws参考[/url]实现了解更多的信息。
[b]Web Service EndPoint[/b]
[b]Deploy Web Service[/b]
在部署文件web.xml里加入监听器及适配器。
还需要在部署文件sun-jaxws.xml描述EndPoint。
如果没有配置,无法使用/hello进行访问,但可以用HelloService?wsdl进行访问到,这是适配器的作用。
注:Metro,是GlassFish服务器的子项目,大家可以浏览[url="https://jax-ws.dev.java.net/"]jax-ws参考[/url]实现了解更多的信息。
[b]Web Service EndPoint[/b]
package helloservice;
@javax.jws.WebService(
serviceName="HelloService",
name="Hello",
targetNamespace="http://www.jboss.org/example")
public class HelloBean {
private String message = new String("Hello, ");
@javax.jws.WebMethod
public String sayHello(String name) {
return message + name + ".";
}
}
[b]Deploy Web Service[/b]
在部署文件web.xml里加入监听器及适配器。
<listener>
<listener-class>com.sun.xml.ws.transport.http.servlet.WSServletContextListener</listener-class>
</listener>
<servlet>
<servlet-name>HelloService</servlet-name>
<servlet-class>com.sun.xml.ws.transport.http.servlet.WSServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HelloService</servlet-name>
<url-pattern>/hello</url-pattern>
</servlet-mapping>
还需要在部署文件sun-jaxws.xml描述EndPoint。
<?xml version="1.0" encoding="UTF-8"?>
<endpoints xmlns='http://java.sun.com/xml/ns/jax-ws/ri/runtime' version='2.0'>
<endpoint
name='HelloService'
implementation='helloservice.HelloBean'
url-pattern='/hello'/>
</endpoints>
如果没有配置,无法使用/hello进行访问,但可以用HelloService?wsdl进行访问到,这是适配器的作用。