说明
在sun-jaxws.xml文件,可以配置endpoint、handler-chain等内容。在这个文件中配置的内容会覆盖在Java代码中使用注解属性配置的的内容。
这个文件根据自己的项目内容修改完成以后,作为web应用的一部分部署到web容器中(放到web应用的WEB-INF目录下,和web.xml文件放到同一个目录下面):
这个文件可以自己从头编写,也可以在样例的基础上修改。
如果要找样例文件,可以从下面官网下载实现的独立发布包:https://eclipse-ee4j.github.io/metro-jax-ws/
解压后,在samples目录下的每个样例中都能找到这个文件,例如:
内容示例:
<?xml version="1.0" encoding="UTF-8"?>
<!--Copyright (c) 1997, 2019 Oracle and/or its affiliates. All rights reserved.This program and the accompanying materials are made available under theterms of the Eclipse Distribution License v. 1.0, which is available athttp://www.eclipse.org/org/documents/edl-v10.php.SPDX-License-Identifier: BSD-3-Clause--><endpointsxmlns="http://java.sun.com/xml/ns/jax-ws/ri/runtime"version="2.0"><endpointname="catalog"interface="catalog.server.AddNumbersPortType"implementation="catalog.server.AddNumbersImpl"wsdl="WEB-INF/wsdl/AddNumbers.wsdl"service="{http://example.com}AddNumbersService"port="{http://example.com}AddNumbersPort"url-pattern="/addnumbers" /></endpoints>
sun-jaxws.xml文件中可以包含多个endpoint
endpoint就是web服务的端点。在sun-jaxws.xml文件中可以包含多个endpoint。
示例:例如有两个RESTful的web服务,sun-jaxws.xml文件的内容:
<?xml version="1.0" encoding="UTF-8"?><endpointsxmlns="http://java.sun.com/xml/ns/jax-ws/ri/runtime"version="2.0"><endpointname="power-restful-addnumbers"implementation="com.thb.server.AddNumbersImpl"url-pattern="/addnumbers/*" /><endpointname="power-restful-addnumbers2"implementation="com.thb.server.AddNumbers2"url-pattern="/addnumbers2/*" />
</endpoints>
web.xml文件中的内容:
<?xml version="1.0" encoding="UTF-8"?><web-app version="6.0" xmlns="https://jakarta.ee/xml/ns/jakartaee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/web-app_6_0.xsd"><description>restful</description><display-name>restful</display-name><listener><listener-class>com.sun.xml.ws.transport.http.servlet.WSServletContextListener</listener-class></listener><servlet><description>JAX-WS endpoint - restful</description><display-name>restful</display-name><servlet-name>restful-addnumbers</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>restful-addnumbers</servlet-name><url-pattern>/addnumbers/*</url-pattern><url-pattern>/addnumbers2/*</url-pattern></servlet-mapping><session-config><session-timeout>60</session-timeout></session-config>
</web-app>
部署到tomcat以后:
访问服务1:
访问服务2: