Схема xsd не представлена ​​wsdl

Я разрабатываю WebService с JAX-WS (я использую цель wsimport на jaxws-maven-plugin). Я написал WSDL, который импортирует схему XSD.

WEB-INF/wsdl/service.wsdl
WEB-INF/wsdl/service.xsd

Также я сгенерировал классы веб-сервисов, создал конечную точку и все такое. До сих пор все работало отлично. Когда я запускал свой сервис на Tomcat 7, все было в порядке. Я могу получить доступ к wsdl в своем браузере из:

http://localhost:8080/webService/servlet-url?wsdl

, но я не могу получить доступ к схеме xsd. Проблема в этом wsdl:

<xsd:schema>
<xsd:import namespace="http://ws.service/domain/1.0" schemaLocation="service.xsd"/>
</xsd:schema>

Конечно, во время генерации классов wsdl и xsd находятся на локальном пути, но я хочу, чтобы они были доступны удаленно, когда работает веб-служба. Я знаю, что расположение схемы должно быть примерно таким: «http://localhost:8080/webService/servlet-url?xsd=1».

В wsdl, представленном в браузере, импорт должен выглядеть так:

<xsd:schema>
    <xsd:import namespace="http://ws.service/domain/1.0" schemaLocation="http://localhost:8080/webService/servlet-url?wsdl&resource=service.xsd"/>
    </xsd:schema>

localhost:8080/webService/servlet?wsdl дает мне:

wsdl:definitions targetNamespace="http://ws.serv.com/Service/1.0" name="emuiaService">         
<wsdl:types>
    <xsd:schema>
        <xsd:import namespace="http://ws.serv.com/Service/domain/1.0" schemaLocation="schema.xsd"/>
    </xsd:schema>
</wsdl:types>
<wsdl:message name="halloMsg">
    <wsdl:part name="parameters" element="dom:halloRequest"/>
</wsdl:message>
<wsdl:message name="halloResponseMsg">
    <wsdl:part name="return" element="dom:halloResponse"/>
</wsdl:message>

и так далее...

7
задан bemol 21 June 2012 в 14:45
поделиться