Предупреждение WSDL: не порт SOAP, у него нет мыла: адрес - PullRequest
1 голос
/ 22 мая 2011

Я получаю эти предупреждения при создании клиента веб-службы с использованием Netbeans v 6.7.1, предоставляя следующий wsdl.

парсинг WSDL ...

порт [WARNING] "ComposedWebServicePort" не является порт SOAP, у него нет мыла: адрес
строка 29 Файл: / C: /Users/blavi/Documents/NetBeansProjects/ComposedClient/xml-resources/web-service-references/ComposedWebService/wsdl/ComposedWebService.wsdl

порт [WARNING] "ComposedWebServiceServicePort": не стандартный порт SOAP. Сгенерированный артефакты могут не работать с JAXWS во время выполнения. строка 29 Файл: / C: /Users/blavi/Documents/NetBeansProjects/ComposedClient/xml-resources/web-service-references/ComposedWebService/wsdl/ComposedWebService.wsdl

WSDL, который генерирует предупреждения:

<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns="http://schemas.xmlsoap.org/wsdl/" name="ComposedWebService" targetNamespace="http://j2ee.netbeans.org/wsdl/CompositionBpelModule/ComposedWebService" xmlns:ns0="http://www.w3.org/2001/XMLSchema" xmlns:plnk="http://docs.oasis-open.org/wsbpel/2.0/plnktype" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap" xmlns:tns="http://j2ee.netbeans.org/wsdl/CompositionBpelModule/ComposedWebService" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl">
    <types/>
    <message name="EnterComposition">
        <part name="compositionIN" type="ns0:string"/>
    </message>
    <message name="ExitComposition">
        <part name="compositionOUT" type="ns0:string"/>
    </message>
    <portType name="ComposedWebServicePortType">
        <operation name="ComposedWebServiceSOperation">
            <input message="tns:EnterComposition" name="input1"/>
            <output message="tns:ExitComposition" name="output1"/>
        </operation>
    </portType>
    <binding name="ComposedWebServiceBinding" type="tns:ComposedWebServicePortType">
        <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
        <operation name="ComposedWebServiceOperation">
            <soap:operation soapAction="http://j2ee.netbeans.org/wsdl/CompositionBpelModule/ComposedWebService/ComposedWebServiceOperation" style="document"/>
            <input name="input1">
                <soap:body use="literal"/>
            </input>
            <output name="output1">
                <soap:body use="literal"/>
            </output>
        </operation>
    </binding>
    <service name="ComposedWebService">
        **<port binding="tns:ComposedWebServiceBinding" name="ComposedWebServicePort">**
            <soap:address location="http://localhost:8184/ComposedWebService/ComposedWebServicePort"/>
        </port>
    </service>
    <plnk:partnerLinkType name="ComposedWebServicePLT">
        <plnk:role name="compositionPartnerLinkType" portType="tns:ComposedWebServicePortType"/>
    </plnk:partnerLinkType>
</definitions>

Строка, помеченная **, - это строка 29, где появляются предупреждения. Когда я пытаюсь вызвать веб-сервис с этим wsdl, я всегда получаю исключение Unsupported Endpoint Address Exception. Могут ли эти предупреждения и исключения быть связаны? Как я могу решить это?

Спасибо

1 Ответ

0 голосов
/ 22 мая 2011
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"

Неверное объявление пространства имен SOAP; он должен иметь косую черту в конце.

<part name="compositionOUT" type="ns0:string"/>

Если я не ошибаюсь, вам нужен атрибут element.


ComposedWebServiceServiceService

Более короткие имена могут сделать документ немного более читабельным.

...