CXF: поврежденная схема расположения в xsd: import - PullRequest
0 голосов
/ 02 декабря 2011

Я развертываю веб-сервис SOAP с использованием Apache CXF на разных серверах. 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 голосов
/ 02 декабря 2011

Оказывается, URL-адрес получен из атрибута publishedEndpointUrl элемента <jaxws:endpoint> в cxf-context.xml, который был ошибочным на некоторых серверах из-за проблем в профилях Maven.

...