【发布时间】: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