XML Web 服务 Eclipse实现中的sun-jaxws.xml文件

说明

在sun-jaxws.xml文件,可以配置endpoint、handler-chain等内容。在这个文件中配置的内容会覆盖在Java代码中使用注解属性配置的的内容。

这个文件根据自己的项目内容修改完成以后,作为web应用的一部分部署到web容器中(放到web应用的WEB-INF目录下,和web.xml文件放到同一个目录下面):
XML Web 服务 Eclipse实现中的sun-jaxws.xml文件_第1张图片

这个文件可以自己从头编写,也可以在样例的基础上修改。

如果要找样例文件,可以从下面官网下载实现的独立发布包:https://eclipse-ee4j.github.io/metro-jax-ws/
解压后,在samples目录下的每个样例中都能找到这个文件,例如:
XML Web 服务 Eclipse实现中的sun-jaxws.xml文件_第2张图片
内容示例:

<?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 the
    terms of the Eclipse Distribution License v. 1.0, which is available at
    http://www.eclipse.org/org/documents/edl-v10.php.

    SPDX-License-Identifier: BSD-3-Clause

-->

<endpoints
    xmlns="http://java.sun.com/xml/ns/jax-ws/ri/runtime"
    version="2.0">

    <endpoint
        name="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"?>

<endpoints
    xmlns="http://java.sun.com/xml/ns/jax-ws/ri/runtime"
    version="2.0">

    <endpoint
        name="power-restful-addnumbers"
        implementation="com.thb.server.AddNumbersImpl"
        url-pattern="/addnumbers/*" />

    <endpoint
        name="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/*
        /addnumbers2/*
    
    
        60
    

部署到tomcat以后:
访问服务1:
XML Web 服务 Eclipse实现中的sun-jaxws.xml文件_第3张图片
访问服务2:
XML Web 服务 Eclipse实现中的sun-jaxws.xml文件_第4张图片

你可能感兴趣的:(web服务,JAX-WS,web容器)