【问题标题】:Issue while accessing WSDL from proxy url从代理 url 访问 WSDL 时出现问题
【发布时间】:2013-10-15 13:00:29
【问题描述】:

我创建了一个基于soap 的Web 服务并部署在我的本地服务器(Tomcat)上。

现在我将其中一个代理服务器(托管在互联网上)指向我的本地服务器。

当我从代理 url 访问 WSDL 时,schemalocation 与本地服务器 url 一起出现。

<definitions xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-              wssecurity-utility-1.0.xsd" xmlns:wsp="http://www.w3.org/ns/ws-policy"             name="MovieServiceImplService">
<types>
<xsd:schema>
<xsd:import namespace="http://movies.media.com/" schemaLocation="***http://123.13.33.44:8888/ws-test/Movietest?xsd=1***"/>
</xsd:schema>
</types>
<message name="searchByTitle">
<part name="parameters" element="tns:searchByTitle"/>
</message>
<message name="searchByTitleResponse">
<part name="parameters" element="tns:searchByTitleResponse"/>
</message>
....

My proxy url is https://abcd:8990. I want the schemalocation to be https://abcd:8990/ws-test/Movietest?xsd=1

谁能告诉我可以做些什么改变来解决这个问题。

【问题讨论】:

  • 您是否尝试在您的 schemaLocation 中使用 xsd 文件的相对路径或服务器绝对路径?
  • 你应该使用 Apache mod_proxy 模块的 ProxyPreserveHost 指令
  • 不是答案,但您是否考虑过使用 SoapUI,免费、开源、几分钟即可安装。非常适合在启动时进行开发和故障排除。

标签: java web-services soap proxy wsdl


【解决方案1】:

感谢 Keerthi Ramanathan。

   You should make use of ProxyPreserveHost directive of Apache mod_proxy module 

这对我有用。但是还有一个问题。我的 apache 服务器是 https,schemalocation url 变成了 http url。我无法理解原因。您知道为此可以做些什么吗?

目前,我已经删除了 ssl。

【讨论】:

    猜你喜欢
    • 2011-02-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-26
    • 2015-04-14
    • 2011-06-08
    相关资源
    最近更新 更多