Thursday, September 13, 2012

SOA 11g BPEL SOAP Header

I was trying to add complex element as mentioned below in soap header in SOA 11g BPEL process as below.

<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsa="http://www.w3.org/2005/08/addressing">
   <env:Header>
      <wsa1:OIMUser  xmlns:wsa1="http://xmlns.oracle.com/OIM/provisioning">
         <wsa1:OIMUserId>**</wsa1:OIMUserId>
         <wsa1:OIMUserPassword>**</wsa1:OIMUserPassword>
      </wsa1:OIMUser>
   </env:Header>
   <env:Body env:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
      <processRequest xmlns="http://xmlns.oracle.com/OIM/provisioning">
         <sOAPElement xmlns="">

  • Basically started with new XSD as below:

<?xml version="1.0" encoding="windows-1252" ?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
            xmlns="http://xmlns.oracle.com/OIM/provisioning"
            targetNamespace="http://xmlns.oracle.com/OIM/provisioning"
            elementFormDefault="qualified">
  <xsd:element name="OIMUser" type="OIMUserType"/>
  <xsd:complexType name="OIMUserType">
        <xsd:sequence>
            <xsd:element name="OIMUserId" type="xsd:string"/>
            <xsd:element name="OIMUserPassword" type="xsd:string"/>
        </xsd:sequence>
  </xsd:complexType>
</xsd:schema>


  • Created a variable Header of element OIMUser:



  • Configured the Invoke Activity with Header variable 
 

  • This generated following activity in source code
    <invoke name="Invoke"
            partnerLink="OIMProvisioning" portType="ns1:OIMProvisioningPort"
            operation="processRequest" inputVariable="OIMInput"
            outputVariable="OIMOutput" bpelx:invokeAsDetail="no"
            bpelx:headerVariable="Header"

  • This didn't work as per testing with TCPMon, had to change headerVariable with inputHeaderVariable manually in source code to make it work
    <invoke name="Invoke"
            partnerLink="OIMProvisioning" portType="ns1:OIMProvisioningPort"
            operation="processRequest" inputVariable="OIMInput"
            outputVariable="OIMOutput" bpelx:invokeAsDetail="no"
            bpelx:inputHeaderVariable="Header" 

















Wednesday, June 27, 2012

OAM Access Gate Configuration : Not responding AM Service status mismatch

We were getting following error while configuring OAM access gate: Not responding AM Service status mismatch, even though primary OAM server host and port were correctly specified.




Resolution

It was quite simple: Modify the Access Gate configuration for ASDK client. Change the Access Management Service from Off to On.