gpt4 book ai didi

java - 使用 CXF 和 Tomcat 的 WSDL 导入位置

转载 作者:行者123 更新时间:2023-11-28 23:49:31 24 4
gpt4 key购买 nike

我正在使用 CXF 以 Java 和 Tomcat 作为应用程序容器来生成 WSDL。我遇到 wsdl 导入位置不包括 ssl 链接版本的问题。这是示例:

<wsdl:import location="http://api.test.com/soap_admin?wsdl=AdminApi.wsdl" namespace="http://admin.test.com"></wsdl:import>

应该是(我知道如何更改命名空间值,只是不知道位置值):

<wsdl:import location="https://api.test.com/soap_admin?wsdl=AdminApi.wsdl" namespace="https://admin.test.com"></wsdl:import>

我前面还有一个负载平衡器,它正在执行 SSL 身份验证,然后它重定向到它后面的 2 个不同服务器之一。可以毫无问题地提取 WSDL,但只是为了保持一致性,希望位置字段中包含 https。

我还看到了一些关于堆栈溢出的其他问题,它们是半相同的,但没有一个是准确的。例如这个链接:

specify location in wsdl:import

但这是在 WCF 堆栈上完成的,根本不是我正在使用的。我的直觉也告诉我这是一个简单的 CXF 或 Tomcat 配置更改。如果我将它部署在我的一台不使用 SSL 不包含 https 的开发服务器上,那么动态到这一点也很好。

请指教!

最佳答案

通过将另一个连接器端口添加到我的 tomcat 7 的 server.xml 配置中来修复此问题:

<Connector port="8081" maxHttpHeaderSize="8192"
maxThreads="300" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" scheme="https" proxyPort="443" proxyName="your.frontend.address" disableUploadTimeout="true" />

还有@Donal,我基本上定义了现在如何连接到这个tomcat 的两个版本。我刚刚列出的代码指向我的负载均衡器,然后对于内部用户,我仍然定义了一个 8080 连接器端口。显然可以根据您的需要调整该配置。您的解决方案当然有效,但仍然有相当不成熟的产品,我不想一直这样做。

我最初认为这是一个 CXF 问题,但后来发现它是一个 tomcat 配置更改。

关于java - 使用 CXF 和 Tomcat 的 WSDL 导入位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10759554/

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