Loading ...
Sorry, an error occurred while loading the content.

6155oracle identity manager and SOAP

Expand Messages
  • lemmetink
    May 13, 2008
    • 0 Attachment
      Hi Guys,

      I've been struggling to understand how the bits and pieces of code in
      SOAP::Lite and the data in the produced XML output hang together, and
      am almost at the point of producing the required XML by hand and push
      it out using LWP because I spent so much time on SOAP w/o a reasonable
      result in sight (ugly and kludgy as it may be to do the manual thing).

      I'm trying to produce a header like this:

      <soap-env:Envelope
      xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/">
      <soap-env:Header>
      <wsa1:OIMUser
      soap-env:actor="http://schemas.xmlsoap.org/soap/actor/next"
      soap-env:mustUnderstand="0"
      xmlns:wsa1="http://xmlns.oracle.com/OIM/provisioning">
      <wsa1:OIMUserPassword>xelsysadm</wsa1:OIMUserPassword>
      <wsa1:OIMUserId>xelsysadm</wsa1:OIMUserId>
      </wsa1:OIMUser>
      <wsa1:lang
      soap-env:actor="http://schemas.xmlsoap.org/soap/actor/next"
      soap-env:mustUnderstand="0"
      xmlns:wsa1="http://xmlns.oracle.com/OIM/provisioning">
      <wsa1:language>en</wsa1:language>
      <wsa1:sublanguage>US</wsa1:sublanguage>
      </wsa1:lang>
      </soap-env:Header>
      <soap-env:Body>
      <processRequest xmlns="">
      <parameters>
      <addRequest returnData="everything"
      xmlns="urn:oasis:names:tc:SPML:2:0"
      xmlns:dsml="urn:oasis:names:tc:DSML:2:0:core">
      <data>
      <dsml:attr name="objectclass">
      <dsml:value>Users</dsml:value>
      </dsml:attr>
      <dsml:attr name="Users.User ID">
      <dsml:value>10abb1</dsml:value>
      </dsml:attr>
      <dsml:attr name="Users.Role">
      <dsml:value>E</dsml:value>
      </dsml:attr>
      <dsml:attr name="Users.First Name">
      <dsml:value>Anna</dsml:value>
      </dsml:attr>
      <dsml:attr name="Users.Disable User">
      <dsml:value>0</dsml:value>
      </dsml:attr>
      <dsml:attr name="USR_UDF_EMPLOYEE_NUMBER">
      <dsml:value>00029368</dsml:value>
      </dsml:attr>
      <dsml:attr name="Users.Last Name">
      <dsml:value>Barbers</dsml:value>
      </dsml:attr>
      <dsml:attr name="Organizations.Organization Name">
      <dsml:value>Xellerate Users</dsml:value>
      </dsml:attr>
      <dsml:attr name="Users.Xellerate Type">
      <dsml:value>End-User</dsml:value>
      </dsml:attr>
      <dsml:attr name="Users.Password">
      <dsml:value>welcome</dsml:value>
      </dsml:attr>
      <dsml:attr name="USR_UDF_USER_FROM_EDIR">
      <dsml:value>1</dsml:value>
      </dsml:attr>
      </data>
      <operation-data parent-node-1="addResponse">
      <return-to-me class-name="Users" command="add"
      event-id="authtest1#20080427222023#1#1"
      qualified-src-dn="O=IRD\OU=users\OU=people\CN=10abb1"
      src-dn="\IAMSTEST\IRD\users\people\10abb1" src-entry-id="51178"/>
      </operation-data>
      </addRequest>
      </parameters>
      </processRequest>
      </soap-env:Body>
      </soap-env:Envelope>


      My code snippet so far looks like this (version 371 :/)
      my $header = SOAP::Header ->name('OIMUser' =>
      \SOAP::Header->name("wsa1:OIMUserID")->value("xelsysadm")
      );


      And the resulting soap header looks like:
      <SOAP-ENV:Envelope
      xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance"



      xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"



      xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"


      xmlns:xsd="http://www.w3.org/1999/XMLSchema"



      SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">


      <SOAP-ENV:Header>


      <OIMUser>


      <wsa1:OIMUserID
      xsi:type="xsd:string">xelsysadm</wsa1:OIMUserID>


      </OIMUser>
      </SOAP-ENV:Header>


      How do I rectify this?



      Cheers,
      Andrej
    • Show all 3 messages in this topic