2 Replies Latest reply on Aug 27, 2009 6:15 PM by 719460

    Oracle Service Bus 10.3 - split join how to set header for invoked service

      In Oracle Service Bus 10.3 how can I set the header for the service being invoked. We make parallel calls to 2 different business services. One of the invoked service requires header to be set and I am unable to figure out how it can be done. Below are snippet of the code and WSDL.

      --- Login Operation start ---
      <operation name="login">
      <wsdlsoap:operation soapAction="blah"/>
      <input name="loginRequest">
      <wsdlsoap:body use="literal"/>
      <wsdlsoap:header message="passport:loginHeader" part="hppwsHeaderElement" use="literal"/>
      <output name="loginResponse">
      <wsdlsoap:body use="literal"/>
      <fault name="genericFaultException">
      <wsdlsoap:fault name="genericFaultException" use="literal"/>
      --- Login Operation end ---

      --- hppwsHeader Element --
      <complexType name="hppwsHeaderElement">
      <element maxOccurs="1" minOccurs="0" name="version" type="tns1:version"/>
      <element maxOccurs="1" minOccurs="0" name="tx-id" type="tns1:tx-id"/>
      <element maxOccurs="1" minOccurs="1" name="systemLangCode" type="xsd:string"/>

      --- LoginRequest Element ---
      <xs:element name="loginRequestElement" type="s0:loginRequestType"/>
      <xs:complexType name="loginRequestType">
      <xs:element name="userId" minOccurs="1" maxOccurs="1" type="xs:string"/>
      <xs:element name="password" minOccurs="1" maxOccurs="1" type="xs:string"/>

      --- LoginResponse Element ---
      <xs:element name="loginResponseElement" type="s0:loginResultType"/>
      <xs:complexType name="loginResultType">
      <xs:element name="sessionToken" minOccurs="1" maxOccurs="1" type="xs:string"/>

      In Oracle Workshop for WebLogic when I create a split-join .flow file while adding the invoke service call to login operation I am prompted to create the loginRequest and loginResponse variables. I can assign the appropriate expression to loginRequest.loginRequestElement prior to making the invoke call but then the backend business call fails because "systemLangCode" is not defined and set. Actual fault is

      <ns1:genericFault xmlns:ns1="http://hppcbl.globalops.company.com/webservice">
      <desc>System language code is required.</desc>

      I would really appreciate if someone could guide me on how to resolve this