将jax-ws服务部署到Eclipse或Tomcat可以通过以下步骤完成:
@WebService
注解进行标记,并且包含需要发布的方法。import javax.jws.WebService;
@WebService
public class MyWebService {
public String sayHello(String name) {
return "Hello, " + name + "!";
}
}
<web-app>
标签内添加以下内容:<listener>
<listener-class>com.sun.xml.ws.transport.http.servlet.WSServletContextListener</listener-class>
</listener>
<servlet>
<servlet-name>MyWebService</servlet-name>
<servlet-class>com.sun.xml.ws.transport.http.servlet.WSServlet</servlet-class>
<init-param>
<param-name>wsdlLocation</param-name>
<param-value>/WEB-INF/wsdl/MyWebService.wsdl</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>MyWebService</servlet-name>
<url-pattern>/services/*</url-pattern>
</servlet-mapping>
<definitions xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:tns="http://example.com/"
targetNamespace="http://example.com/">
<types>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://example.com/">
<xsd:element name="sayHello" type="xsd:string"/>
<xsd:element name="sayHelloResponse" type="xsd:string"/>
</xsd:schema>
</types>
<message name="sayHelloRequest">
<part name="name" type="xsd:string"/>
</message>
<message name="sayHelloResponse">
<part name="greeting" type="xsd:string"/>
</message>
<portType name="MyWebServicePortType">
<operation name="sayHello">
<input message="tns:sayHelloRequest"/>
<output message="tns:sayHelloResponse"/>
</operation>
</portType>
<binding name="MyWebServiceBinding" type="tns:MyWebServicePortType">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="sayHello">
<soap:operation soapAction=""/>
<input>
<soap:body use="literal"/>
</input>
<output>
<soap:body use="literal"/>
</output>
</operation>
</binding>
<service name="MyWebService">
<port name="MyWebServicePort" binding="tns:MyWebServiceBinding">
<soap:address location="http://localhost:8080/your-project-name/services/MyWebService"/>
</port>
</service>
</definitions>
http://localhost:8080/your-project-name/services/MyWebService?wsdl
,确保wsdl文件可以正常访问。至此,你已经成功将jax-ws服务部署到Eclipse或Tomcat中。你可以通过调用相应的URL来访问和测试这个服务。请注意,以上步骤仅适用于在Eclipse中部署jax-ws服务,如果你想在独立的Tomcat服务器中部署,可以将项目导出为war文件并将其部署到Tomcat中。
领取专属 10元无门槛券
手把手带您无忧上云