David,

I just Googled looking for an automated converter utility, but no
luck. I think you'll have to do the conversions by hand. As a general
rule, I strongly recommend that you convert your WSDL to wrapped
document/literal.

Here are the basic rules:

1 - Convert your input and output parameters to explicitly defined
schema elements. The name of an input element should be the same as
the operation name. The name of an output element should be a
concatenation of the operation name and "Response". For example, for
an operation called myOperation, with the following message
descriptions:

       <w:message name="myOperationRequest">
          <w:part name="param1" type="x:string"/>
          <w:part name="param2" type="x:int"/>
       </w:message>

       <w:message name="myOperationResponse"
          <w:part name="return" type="x:string"/>
       </w:message>

Write the following schema definition:

       <x:element name="myOperation" type="tns:myOperation"/>
       <x:complexType name="myOperation">
          <x:sequence>
              <x:element name="param1" type="x:string"/>
              <x:element name="param2" type="x:int"/>
          </x:sequence>
        <x:complexType>

       <x:element name="myOperationResponse" type="tns:myOperationResponse"/>
       <x:complexType name="myOperationResponse">
          <x:sequence>
              <x:element name="return" type="x:string"/>
          </x:sequence>
        <x:complexType>

And change the message definitions to:

       <w:message name="myOperationRequest">
          <w:part name="parameters" element="tns:myOperation"/>
       </w:message>

       <w:message name="myOperationResponse"
          <w:part name="parameters" element="tns:myOperationResponse"/>
       </w:message>

2. Make the following changes to the <w:binding> definitions:

Wherever it says style="rpc", change it to style="document". (This
could be in the <soap:binding> or the <soap:operation> definitions.

Wherever it says use="encoded", change it to use="literal". (This will
be in all <soap:body>, <soap:header>, <soap:fault>, and
<soap:headerfault> definitions.). Likewise, in all these definitions,
remove all encodingStyle and namespace attributes.

e.g., the <soap:body> definition should look like this:

        <soap:body use="literal"/>

That's it. Tedious, but relatively straightforward.

Anne


On 7/19/07, david <[EMAIL PROTECTED]> wrote:
Hello Ann and all the Axis2/wsdl gurus and users, I have a .NET client 
generated WSDL (rpc-encoded). I want to convert this WSDL to either: 
rpc-literal or document-literal such that I can run Axis2 wsdl2java and 
generate an Axis2 service. Currently, this service is running as Axis1.4 and I 
would appreciate very much any and all ideas and suggestions as to how to 
migrate to Axis2. I know the Axis2 wsdl2java does not support rpc-encoded. I 
read Ann Manes blog about converting wsdls but I am not sure if this can be 
extended to rpc-encoded. I am secretly hoping Ann Manes will reply but any and 
all rants and raves welcomed. I can reply with the target wsdl in question. 
Please advise, David.

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to