You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by babloosony <ba...@gmail.com> on 2005/04/07 12:02:22 UTC

How to customize the soap message generated by AXIS

Hi All,

I have included all the relevant files in this mail. Basically I have
below soap message generated using a WSDL generated by AXIS 1.2 RC2 Server.



Originally request soap message generated by AXIS 1.2 RC2 Client
----------------------------------------------------------------------------------------
<?xml version="1.0" encoding="utf-16"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
 <soap:Body>
   <getDummyBean xmlns="http://ws.as.com/wsdl/typesws">
     <VOILA>
       <j xmlns="http://ws.as.com/schema/typesws">100</j>
       <st xmlns="http://ws.as.com/schema/typesws">ram</st>
       <i xmlns="http://ws.as.com/schema/typesws">99</i>
     </VOILA>
   </getDummyBean>
 </soap:Body>
</soap:Envelope>




Originally response soap message generated by AXIS 1.2 RC2 Server
--------------------------------------------------------------------------------------------------------
<?xml version="1.0" encoding="utf-16"?>
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
 <soapenv:Body>
   <getDummyBeanResponse xmlns="http://ws.as.com/wsdl/typesws">
     <getDummyBeanReturn>
       <i>100</i>
       <st>dummystring</st>
     </getDummyBeanReturn>
   </getDummyBeanResponse>
 </soapenv:Body>
</soapenv:Envelope>




The soap request message I am expecting from .NET Client
------------------------------------------------------------------------------------------
<?xml version="1.0" encoding="utf-16"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
 <soap:Body>
   <getDummyBean xmlns="http://ws.as.com/wsdl/typesws">
     <VOILA>
       <DummyBean xmlns="http://ws.as.com/schema/typesws">
			<j xmlns="http://ws.as.com/schema/typesws">100</j>
			<st xmlns="http://ws.as.com/schema/typesws">ram</st>
			<i xmlns="http://ws.as.com/schema/typesws">99</i>
       </DummyBean>
     </VOILA>
   </getDummyBean>
 </soap:Body>
</soap:Envelope>




WSDL
------
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions       targetNamespace="http://ws.as.com/wsdl/typesws"
                                      
xmlns:apachesoap="http://xml.apache.org/xml-soap"
                                      
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
                                      
xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"
                                      
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
                                      
xmlns:impl="http://ws.as.com/wsdl/typesws"
                                      
xmlns:intf="http://ws.as.com/wsdl/typesws"
                                      
xmlns:tns1="http://ws.as.com/wsdl/typesws"
                                      
xmlns:tns2="http://ws.as.com/schema/typesws">
<wsdl:types>
       <schema elementFormDefault="qualified"
                       targetNamespace="http://ws.as.com/schema/typesws"
                       xmlns="http://www.w3.org/2001/XMLSchema">
               <complexType name="DummyParentBean">
                       <sequence>
                               <element name="j" type="xsd:int"/>
                       </sequence>
               </complexType>
               <complexType name="InputBean">
                       <complexContent>
                               <extension base="tns2:DummyParentBean">
                                       <sequence>
                                               <element name="st"
nillable="true" type="xsd:string"/>
                                               <element name="i"
type="xsd:int"/>
                                       </sequence>
                               </extension>
                       </complexContent>
               </complexType>
               <complexType name="DummyBean">
                       <sequence>
                               <element name="i" type="xsd:int"/>
                               <element name="st" nillable="true"
type="xsd:string"/>
                       </sequence>
               </complexType>
       </schema>
       <schema elementFormDefault="qualified"
                       targetNamespace="http://ws.as.com/wsdl/typesws"
                       xmlns="http://www.w3.org/2001/XMLSchema">
               <import namespace="http://ws.as.com/schema/typesws"/>
               <element name="getDummyBean">
                       <complexType>
                               <sequence>
                                       <element name="VOILA"
type="tns2:InputBean"/>
                               </sequence>
                       </complexType>
               </element>
               <element name="getDummyBeanResponse">
                       <complexType>
                               <sequence>
                                       <element
name="getDummyBeanReturn" type="tns2:DummyBean"/>
                               </sequence>
                       </complexType>
               </element>
       </schema>
</wsdl:types>
<wsdl:message name="getDummyBeanResponse">
       <wsdl:part element="tns1:getDummyBeanResponse" name="parameters"/>
</wsdl:message>
<wsdl:message name="getDummyBeanRequest">
       <wsdl:part element="tns1:getDummyBean" name="parameters"/>
</wsdl:message>
<wsdl:portType name="Types">
       <wsdl:operation name="getDummyBean">
               <wsdl:input message="impl:getDummyBeanRequest"
name="getDummyBeanRequest"/>
               <wsdl:output message="impl:getDummyBeanResponse"
name="getDummyBeanResponse"/>
       </wsdl:operation>
</wsdl:portType>
<wsdl:binding name="TypesServiceSoapBinding" type="impl:Types">
       <wsdlsoap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http"/>
       <wsdl:operation name="getDummyBean">
               <wsdlsoap:operation soapAction=""/>
                       <wsdl:input name="getDummyBeanRequest">
                               <wsdlsoap:body use="literal"/>
                       </wsdl:input>
                       <wsdl:output name="getDummyBeanResponse">
                               <wsdlsoap:body use="literal"/>
                       </wsdl:output>
       </wsdl:operation>
</wsdl:binding>
<wsdl:service name="TypesService">
       <wsdl:port binding="impl:TypesServiceSoapBinding" name="TypesService">
               <wsdlsoap:address
location="http://localhost:9999/Proj04022005Axis12Rc2Web/services/TypesService"
/>
       </wsdl:port>
</wsdl:service>
</wsdl:definitions>






Can anybody please tell me how can I get the soap message that I have
explained above  under the heading "The soap request message I am
expecting from AXIS Client". Is there anything I can change in my
WSDL. I dont want to change anything in client side stubs generated by
axis since in future I'll be giving this
WSDL to .NET Client and expect .NET to be generated the same request
message format that I am intending to get
using AXIS Client. Please suggest ...



- Kumar.