Расположение схемы веб-службы Soap не может быть найдено в wsdl - PullRequest
3 голосов
/ 15 июня 2011

Мой веб-сервис представляет собой jar-файл и используется как плагин из другого веб-приложения, поэтому у меня есть только один файл web.xml в основном веб-приложении, и я даю ссылку на мой сервлет-диспетчер, и он работает хорошо, но мойпроблема в том, что я хочу использовать его с помощью файла wsdl с помощью мыльного клиента (soapUI не может найти схемы в wsdl)

так выглядит мой файл servlet.xml в файле jar;

<bean id="schema" class="org.springframework.xml.xsd.SimpleXsdSchema">
    <property name="xsd" value="classpath:/resources/xwebservice/schemas/Request.xsd" />
</bean>

<bean id="mwsid"
    class="org.springframework.ws.wsdl.wsdl11.SimpleWsdl11Definition">
    <constructor-arg value="classpath:/resources/xwebservice/spring-ws.wsdl"/>
</bean>

А вот так мой wsdl-файл выглядит так, как будто он называется spring-ws.wsdl

<wsdl:types>
    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
        <xsd:import namespace="http://www.mywebsite.com/xml/webservice"                      
            schemaLocation="/resources/xwebservice/schemas/Request.xsd"/>
    </xsd:schema>

Не удается найти схему request.xsd, когда я пытаюсь получить доступ к своему веб-сервису с помощьюSOAP-клиент (soapUI), показывая мой URL-адрес wsdl:

http://localhost:8080/mwp/mws/mwsid.wsdl

Файлы wsdl и schema находятся в разных папках в jar плагина моего веб-сервиса, где моя ошибка?Я могу открыть wsdl в браузере по указанному выше адресу, но мыльный клиент не может найти схемы в пути.

Спасибо

1 Ответ

1 голос
/ 28 июня 2011

SimpleXsdSchema представляет схему в виде имени компонента плюс .xsd (в данном случае schema.xsd).Поэтому вы должны обновить WSDL, чтобы он указывал на него:

schemaLocation="schema.xsd"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...