Does anyone know of a tool or 'blackbox' that would convert a RPC/Encoded WSDL to RPC/Literal? I don't have the ability to change the API (it's not mine) but the tool I want to use does not support RPC/Encoded. I'd like to see if someone has created a simple black box communication converter.
I want to use wave maker and i'm not a programmer so I'm looking for a tool to just take care of the translation.
"rpc/encoded" is the popular combination of message style and encoding option for most RPC (Remote Procedure Call) Web services. So let's write the second example with: WSDL Version: 1.1. WSDL Binding Extension: SOAP 1.2.
In binding, "literal" is only defined the encoding style used, the complex Type name is showed in the "wsdl:message" definition, which is used in "wsdl:operation" in "wsdl:portType". You should have something like this. `
Document style: The SOAP Body contains one or more child elements called parts. There are no SOAP formatting rules for what the body contains; it contains whatever the sender and the receiver agrees upon. RPC style: RPC implies that SOAP body contains an element with the name of the method or operation being invoked.
The document/literal encoding allows the transmission of any arbitrary valid XML document instead of a SOAP call following rules from section 5 from SOAP/1.1 specification. This allows us to send and receive SOAP packets that are more free-form ("document" style).
If you are changing the encoding of the WSDL, then the SOAP messages would change to:
RPC/Encoded Message Sample
<soap:envelope>
<soap:body>
<myMethod>
<x xsi:type="xsd:int">5</x>
<y xsi:type="xsd:float">5.0</y>
</myMethod>
</soap:body>
</soap:envelope>
RPC/Literal Message Sample
<soap:envelope>
<soap:body>
<myMethod>
<x>5</x>
<y>5.0</y>
</myMethod>
</soap:body>
</soap:envelope>
http://www.ibm.com/developerworks/webservices/library/ws-whichwsdl/
So, it is not enough to translate the WSDL, as you can see de differences between SOAP messages.
You could create a component that acts like a middle man:
But this component needs to be implemented on your specific case, there is no magic tool.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With