gpt4 book ai didi

tomcat - Tomcat 6 中没有部署基于 JAX-WS 的 Web 服务的 WSDL

转载 作者:行者123 更新时间:2023-11-28 22:03:55 25 4
gpt4 key购买 nike

在我努力创建一个可以部署在 glassfish 和 tomcat 上的网络服务时,我注意到两个 AS 都会为 WSDL 提供不同的 URL。对于本文末尾的附加代码,我有:Glassfish v3: localhost:8080/TaxCalculator/TaxCalculatorService?wsdlTomcat 6.23: localhost:8080/TaxCalculator/TaxCalculator?wsdl两者都使用 soapUI 工作正常,但我不希望这种 AS 依赖关系暗示一些 endPointUrl。

现在,我尝试根据信息 I found here 修复此问题.尽管如此,这些信息还是不符合 Tomcat 和 GlassFish 处理这些信息的方式。所以这没有帮助,现在 Tomcat 不再生成 WSDL。至少,我无法使用预期的组合找到它(某处有概述吗?)Tomcat 的日志记录没有发现任何问题。

是否有关于如何设置 endpointUrl 的适当文档,以便:- endpointUrl 的后半部分在 GlassFish、Tomcat 和任何其他常用的 AS 上是否相同?- 在不对主机名进行硬编码的情况下设置端点 url。

或者有人看到我做错了什么吗?Web 服务实现定义了端点接口(interface)、服务名称和端口名称。 (我使用 JAX-WS 注释在 Java 中定义了 WS)。

xml配置下方:

web.xml: <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<display-name>TaxCalculator</display-name>
<!-- Tomcat workaround -->
<listener>
<listener-class>com.sun.xml.ws.transport.http.servlet.WSServletContextListener</listener-class>
</listener>
<servlet>
<servlet-name>TaxCalculatorService</servlet-name>
<!-- Tomcat workaround -->
<servlet-class>com.sun.xml.ws.transport.http.servlet.WSServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>TaxCalculatorService</servlet-name>
<url-pattern>/TaxCalculator</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>
30
</session-timeout>
</session-config>

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

content.xml: <Context antiJARLocking="true" path="/TaxCalculator"/>

最佳答案

我想如果你改变

<servlet-mapping>
<servlet-name>TaxCalculatorService</servlet-name>
<url-pattern>/TaxCalculator</url-pattern>
</servlet-mapping>

<servlet-mapping>
<servlet-name>TaxCalculatorService</servlet-name>
<url-pattern>/TaxCalculatorService</url-pattern> <!-- changed -->
</servlet-mapping>

然后 tomcat 将创建 url:localhost:8080/TaxCalculator/TaxCalculatorService?wsdl

关于tomcat - Tomcat 6 中没有部署基于 JAX-WS 的 Web 服务的 WSDL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5235866/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com