I am trying to create a service which would be compatible with MS InfoPath (which requires document/literal style).

I have created a test class with signature

public class AxisTest{

    public int getId(String first, String last) {

        // ….

    }

}

And I have generated wsdl using WRAPPED style:

 

<?xml version="1.0" encoding="UTF-8"?>

<wsdl:definitions targetNamespace="urn:AxisTest" xmlns:impl="urn:AxisTest" xmlns:intf="urn:AxisTest"

xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"

xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"

xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns="http://schemas.xmlsoap.org/wsdl/">

 <wsdl:types>

  <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="urn:AxisTest">

   <element name="getId">

    <complexType>

     <sequence>

      <element name="first" type="xsd:string"/>

      <element name="last" type="xsd:string"/>

     </sequence>

    </complexType>

   </element>

   <element name="getIdResponse">

    <complexType>

     <sequence>

      <element name="getIdReturn" type="xsd:int"/>

     </sequence>

    </complexType>

   </element>

  </schema>

 </wsdl:types>

 

   <wsdl:message name="getIdRequest">

      <wsdl:part name="parameters" element="impl:getId"/>

   </wsdl:message>

   <wsdl:message name="getIdResponse">

      <wsdl:part name="parameters" element="impl:getIdResponse"/>

   </wsdl:message>

   <wsdl:portType name="AxisTest">

      <wsdl:operation name="getId" parameterOrder="">

         <wsdl:input name="getIdRequest" message="impl:getIdRequest"/>

         <wsdl:output name="getIdResponse" message="impl:getIdResponse"/>

      </wsdl:operation>

   </wsdl:portType>

   <wsdl:binding name="AxisTestSoapBinding" type="impl:AxisTest">

      <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>

      <wsdl:operation name="getId">

         <wsdlsoap:operation soapAction=""/>

         <wsdl:input name="getIdRequest">

            <wsdlsoap:body use="literal" namespace="urn:AxisTest"/>

         </wsdl:input>

         <wsdl:output name="getIdResponse">

            <wsdlsoap:body use="literal" namespace="urn:AxisTest"/>

         </wsdl:output>

      </wsdl:operation>

   </wsdl:binding>

   <wsdl:service name="AxisTestService">

      <wsdl:port name="AxisTest" binding="impl:AxisTestSoapBinding">

         <wsdlsoap:address location="http://localhost:8080/axis/services/AxisTest"/>

      </wsdl:port>

   </wsdl:service>

</wsdl:definitions>

 

How can I deploy such service in Axis? I have tried to get .wsdd file by using WSDL2java, but it didn’t work.

Any help will be appreciated. I could not find any end-to-end example of creating and deploying wrapped service in axis…

Thanks,

-Paul

 

 

Reply via email to