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

说明

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

这个文件根据自己的项目内容修改完成以后,作为web应用的一部分部署到web容器中(放到web应用的WEB-INF目录下,和web.xml文件放到同一个目录下面):

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

如果要找样例文件,可以从下面官网下载实现的独立发布包:https://eclipse-ee4j.github.io/metro-jax-ws/

解压后,在samples目录下的每个样例中都能找到这个文件,例如:

内容示例:

csharp 复制代码
<?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文件的内容:

csharp 复制代码
<?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文件中的内容:

csharp 复制代码
<?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:

相关推荐
司小文9 个月前
MAC通过终端,使用python3建立本地Web服务
python·计算机网络·macos·局域网·web服务·共享文件·本地服务
听海边涛声1 年前
Web服务(Web Service)
web服务
科学的发展-只不过是读大自然写的代码1 年前
node.js 简单实验 创建一个简单的web服务
前端·node.js·web服务