Search code examples
javaweb-servicessoapwsdlbpel

WSDL warning: not a SOAP port, it has no soap:address


I get these warnings when I create a Web Service Client using Netbeans v 6.7.1, providing the following wsdl.

parsing WSDL...

[WARNING] port "ComposedWebServicePort" is not a SOAP port, it has no soap:address
line 29 of file:/C:/Users/blavi/Documents/NetBeansProjects/ComposedClient/xml-resources/web-service-references/ComposedWebService/wsdl/ComposedWebService.wsdl

[WARNING] port "ComposedWebServiceServicePort": not a standard SOAP port. The generated artifacts may not work with JAXWS runtime. line 29 of file:/C:/Users/blavi/Documents/NetBeansProjects/ComposedClient/xml-resources/web-service-references/ComposedWebService/wsdl/ComposedWebService.wsdl

The WSDL which fires the warnings is:

<?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>

The line marked with ** is line 29 where the warnings appear. When I try to invoke the web service that has this wsdl, I always get Unsupported Endpoint Address Exception. Can these warnings and exception be related? How can I solve this?

Thank you


Solution

  • xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
    

    The SOAP namespace declaration is incorrect; it should have a trailing forward slash.

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

    If I'm not mistaken, you need an element attribute here.


    ComposedWebServiceServiceService

    More concise names might make the document a little more readable.