Forum Discussion

thunderbear's avatar
thunderbear
New Contributor
10 years ago

SOAP UI 5 does not seem to read wsa:EndpointReference from WSDL

 

I have the following Web Service ervice with WS-Addressing enabled through WS-Policy assertion - WSDL snippet below:

----------

<wsdl:service name="MyService">
    <wsdl:port name="MyPort" binding="tns:MyBinding">
        <wsp:PolicyReference URI="#WSAddressingPolicy"/>
        <soap:address location="http://localhost:9080/my_endpoint_uri"/>
        <wsa:EndpointReference>
            <wsa:Address>http://localhost:9080/my_endpoint_uri</wsa:Address>
            <wsa:ReferenceParameters>
                <MyReferenceParameter soap:actor="urn:org:example:my-soap-actor">SOME-VALUE</MyReferenceParameter>
            </wsa:ReferenceParameters>
        </wsa:EndpointReference>
    </wsdl:port>
</wsdl:service>

----------

According to the specification the web service client is expected to use the value in //wsdl:port/wsa:EndpointReference/wsa:Address as the value in //soap:Header/wsa:To in the SOAP message. Likewise, all elements defined in //wsdl:port/wsa:EndpointReference/wsa:ReferenceParameters/ should be inserted into the SOAP Header as separate elements with the wsa:IsReferenceParameter="true":

---------- 

<soap:Header>

    <wsa:Action>http://example.org/my_action_uri<wsa:Action>

    <wsa:To>http://localhost:9080/my_endpoint_uri<wsa:To>

    <MyReferenceParameter wsa:IsReferenceParameter="true" soap:actor="urn:org:example:my-soap-actor">SOME-VALUE</MyReferenceParameter>

</soap:Header>

----------

I have confirmed this behavior in JAX-WS implementations. However, soapUI does not seem to read this information from the WSDL and fails to include the ReferenceParameters elements. I would suggest this is a bug. Also, the "Add default wsa:To" should be chacked when the port is extended with a wsa:EndpointReferenced and WS-Addressing is enabled.

No RepliesBe the first to reply