Thursday, November 1, 2012

OSB Proxy Warning 398039

Problem

[OSB Kernel:398039] At least one operation is based on a WSDL message with a single part defined by a schema type, you should use a selector different than message body. Attempt to evaluate the operation, for example during WS-Security,Operational Branch processing etc. - may result in unexpected results.



This warning is easily fixed, and the key parts of the message are in bold. It is likely that the schema type specified has multiple elements which is not recommended for the top level in SOAP.

Solution

1. Open the WSDL which defines your proxy service, and find the message definition.

     <wsdl:message name="DeltaIdentityRequestMessage">
          <wsdl:part name="parameter" type="tns:DeltaIdentityRequestType"/>
     </wsdl:message>

2. Open the XSD where the type is defined (or if it is embedded into the WSDL scroll to that section).
3. Create an element for the type.

          <xsd:element name="DeltaIdentityRequest" type="DeltaIdentityRequestType"/>

4. Change the message.

From:
     <wsdl:message name="DeltaIdentityRequestMessage">
           <wsdl:part name="parameter" type="tns:DeltaIdentityRequestType"/>
     </wsdl:message>
To:
     <wsdl:message name="DeltaIdentityRequestMessage">
          <wsdl:part name="parameter" element="tns:DeltaIdentityRequest"/>
     </wsdl:message>

5. Repeat for any other types being used as message parts.


No comments: