我正在不同的服务器上使用Apache CXF部署SOAP Web服务。 WSDL包含以下行:
<xsd:import
namespace="http://schemas.xxx.net/xsd/gameserver/types/types_v1_0"
schemaLocation="types_v1_0.xsd">
当客户端访问WSDL时,schemaLocation
完成以形成绝对路径:
<xsd:import
namespace="http://schemas.xxx.net/xsd/gameserver/type/types_v1_0"
schemaLocation="http://moss.xxx.local:8080/gameserver/webservices/base_v1?xsd=types_v1_0.xsd">
我的问题:在某些服务器上,这会产生损坏的URL:
<xsd:import
namespace="http://schemas.xxx.net/xsd/gameserver/types/types_v1_0"
schemaLocation="http://localhost8888gameserver/webservices/base_v1?xsd=types_v1_0.xsd">
甚至
<xsd:import
namespace="http://schemas.xxx.net/xsd/gameserver/types/types_v1_0"
schemaLocation="jen.x.local8080gameserver/webservices/base_v1?xsd=types_v1_0.xsd">
有没有人遇到过这个问题?什么可能导致它?今天在部署当前版本的应用程序时似乎突然出现,但我找不到任何可疑的更改 - 特别是WSDL根本没有更改。
答案 0 :(得分:0)
原来这个网址来自publishedEndpointUrl
中<jaxws:endpoint>
元素的cxf-context.xml
属性,由于Maven个人资料中的问题,这在某些服务器上是错误的。