CXF:xsd:import中的schemaLocation损坏

时间:2011-12-02 10:23:57

标签: soap wsdl cxf

我正在不同的服务器上使用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根本没有更改。

1 个答案:

答案 0 :(得分:0)

原来这个网址来自publishedEndpointUrl<jaxws:endpoint>元素的cxf-context.xml属性,由于Maven个人资料中的问题,这在某些服务器上是错误的。

相关问题