3 Replies Latest reply: Nov 14, 2012 7:32 PM by user7426463 RSS

    How to invoke a wsdl which is of RPC/Encoded binding type in bpel 10g

    vidya
      Hi All

      There is a requirement where we need to invoke a wsdl which is of RPC/Encoded binding type in bpel 10g.I'm aware that RPC binding type is not directly supported in soa 10g. Can someone elaborate on how to create a variable to invoke this wsdl ...PFB the wsdl for your reference....



      <wsdl:definitions targetNamespace="http://*****.web.******.com/mbf" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://*****.web.******.com/mbf" xmlns:intf="http://******.web.******.com/mbf" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
      <!--WSDL created by Apache Axis version: 1.4
      Built on Apr 22, 2006 (06:55:48 PDT)-->
      <wsdl:types>
      <schema targetNamespace="http://******.web.******.com/mbf" xmlns="http://www.w3.org/2001/XMLSchema">
      <import namespace="http://schemas.xmlsoap.org/soap/encoding/"/>
      <complexType name="AccessRight">
      <sequence>
      <element name="accessLabel" nillable="true" type="soapenc:string"/>
      <element name="accessValue" nillable="true" type="soapenc:string"/>
      </sequence>
      </complexType>
      <complexType name="ArrayOfAccessRight">
      <complexContent>
      <restriction base="soapenc:Array">
      <attribute ref="soapenc:arrayType" wsdl:arrayType="impl:AccessRight[]"/>
      </restriction>
      </complexContent>
      </complexType>
      <complexType name="ArrayOf_xsd_string">
      <complexContent>
      <restriction base="soapenc:Array">
      <attribute ref="soapenc:arrayType" wsdl:arrayType="xsd:string[]"/>
      </restriction>
      </complexContent>
      </complexType>
      <complexType name="AccountRequest">
      <sequence>
      <element name="accessRights" nillable="true" type="impl:ArrayOfAccessRight"/>
      <element name="actionCode" nillable="true" type="soapenc:string"/>
      <element name="domain" nillable="true" type="soapenc:string"/>
      <element name="emailAddress" nillable="true" type="soapenc:string"/>
      <element name="firstName" nillable="true" type="soapenc:string"/>
      <element name="lastName" nillable="true" type="soapenc:string"/>
      <element name="middleInitial" nillable="true" type="soapenc:string"/>
      <element name="phoneNumber" nillable="true" type="soapenc:string"/>
      <element name="primarySupplierCode" nillable="true" type="soapenc:string"/>
      <element name="secondarySupplierCodes" nillable="true" type="impl:ArrayOf_xsd_string"/>
      <element name="userid" nillable="true" type="soapenc:string"/>
      </sequence>
      </complexType>
      <complexType name="ArrayOfAccountRequest">
      <complexContent>
      <restriction base="soapenc:Array">
      <attribute ref="soapenc:arrayType" wsdl:arrayType="impl:AccountRequest[]"/>
      </restriction>
      </complexContent>
      </complexType>
      <complexType name="SetupRequest">
      <sequence>
      <element name="accountRequests" nillable="true" type="impl:ArrayOfAccountRequest"/>
      </sequence>
      </complexType>
      <complexType name="SetupResponse">
      <sequence>
      <element name="errorMessage" nillable="true" type="soapenc:string"/>
      <element name="requestProcessed" type="xsd:boolean"/>
      </sequence>
      </complexType>
      <complexType name="ApprovalResponse">
      <sequence>
      <element name="errorMessage" nillable="true" type="soapenc:string"/>
      <element name="haveError" type="xsd:boolean"/>
      <element name="requestApproved" type="xsd:boolean"/>
      </sequence>
      </complexType>
      </schema>
      </wsdl:types>
      <wsdl:message name="getApprovalResponse">
      <wsdl:part name="getApprovalReturn" type="impl:ApprovalResponse"/>
      </wsdl:message>
      <wsdl:message name="doSetupResponse">
      <wsdl:part name="doSetupReturn" type="impl:SetupResponse"/>
      </wsdl:message>
      <wsdl:message name="doSetupRequest">
      <wsdl:part name="in0" type="impl:SetupRequest"/>
      </wsdl:message>
      <wsdl:message name="getApprovalRequest">
      <wsdl:part name="in0" type="impl:AccountRequest"/>
      </wsdl:message>
      <wsdl:portType name="SpecialHandling">
      <wsdl:operation name="doSetup" parameterOrder="in0">
      <wsdl:input message="impl:doSetupRequest" name="doSetupRequest"/>
      <wsdl:output message="impl:doSetupResponse" name="doSetupResponse"/>
      </wsdl:operation>
      <wsdl:operation name="getApproval" parameterOrder="in0">
      <wsdl:input message="impl:getApprovalRequest" name="getApprovalRequest"/>
      <wsdl:output message="impl:getApprovalResponse" name="getApprovalResponse"/>
      </wsdl:operation>
      </wsdl:portType>
      <wsdl:binding name="SpecialHandlingSoapBinding" type="impl:SpecialHandling">
      <wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
      <wsdl:operation name="doSetup">
      <wsdlsoap:operation soapAction=""/>
      <wsdl:input name="doSetupRequest">
      <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://******.web.******.com/mbf" use="encoded"/>
      </wsdl:input>
      <wsdl:output name="doSetupResponse">
      <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://*****.web.******.com/mbf" use="encoded"/>
      </wsdl:output>
      </wsdl:operation>
      <wsdl:operation name="getApproval">
      <wsdlsoap:operation soapAction=""/>
      <wsdl:input name="getApprovalRequest">
      <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://******.web.******.com/mbf" use="encoded"/>
      </wsdl:input>
      <wsdl:output name="getApprovalResponse">
      <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://******.web.******.com/mbf" use="encoded"/>
      </wsdl:output>
      </wsdl:operation>
      </wsdl:binding>
      <wsdl:service name="SpecialHandlingService">
      <wsdl:port binding="impl:SpecialHandlingSoapBinding" name="SpecialHandling">
      <wsdlsoap:address location="http://******:******/access/services/SpecialHandling"/>
      </wsdl:port>
      </wsdl:service>
      </wsdl:definitions>