Hi all,
I've developed a soap driver to create user accounts on an application
via RESTful API. The API uses a custom
authentication method and so i have to create custom headers. I
understand I can use <operation-data> to create
custom headers, and so I have used a stylesheet that successfully
creates the following xml to be processed by
the shim:

<nds dtdversion="4.0" ndsversion="8.x">
<source>
<product edition="Advanced" version="4.0.2.0">DirXML</product>
<contact>Novell, Inc.</contact>
</source>
<input>
<operation-data method="PUT"
url="https://xxxx.xxxxxx.com//webServices/API.svc/manager">
<request-headers remove-existing="true">
<request-header name="Authorization">T
900000002-00000000nWflt7YyqsjBqoJbIjLZkLQWxY%3D</request-header>
<request-header name="T-timestamp">1399048399</request-header>
<request-header name="Content-Length">709</request-header>
<request-header name="Content-Type">text/xml</request-header>
</request-headers>
</operation-data>
<TUser xmlns="http://xxxxxx.com/xxxxxxAPI"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xxxxxx.com/xxxxxxAPI
.../Schema/xxxxxxManager.xsd">
<EmployerDID>00000000</EmployerDID>
<UserName/>
<FirstName>james</FirstName>
<LastName>fox</LastName>
<Email>mgr1@xxxxxxxx.com</Email>
<Title>Consultant</Title>
<EmployeeID/>
<AllWorksiteAccess>false</AllWorksiteAccess>
<Password>abcd!0123456</Password>
<UserRole>xxxxxx H [USER]</UserRole>
<ExternalSecurityGroupIDs/>
<ExternalWorksiteIDs>
<ExternalWorksiteID/>
</ExternalWorksiteIDs>
<ForceChange>true</ForceChange>
</TUser>

My questions are:
1) I placed the <operation-data> within the <input> element in my output
transformation policy. Is this the
correct approach? When i review the trace, I get the following:

12:33:19 F8C Drvrs: xxxxxx- ST:xxxxxx_H: Value of boolean flag
'remove-existing' is : false
12:33:19 F8C Drvrs: xxxxxx- ST:xxxxxx_H: HTTPSubscriberTransport.send()
12:33:19 F8C Drvrs: xxxxxx- ST:xxxxxx_H: Preparing HTTP PUT connection
to
https://xxxx.xxxxxx.com//webServices/API.svc/manager
12:33:19 F8C Drvrs: xxxxxx- ST:xxxxxx_H: Setting up SSL
connection..........
12:33:19 F8C Drvrs: xxxxxx- ST:xxxxxx_H: Value of boolean flag
'remove-existing' is : false
12:33:19 F8C Drvrs: xxxxxx- ST:xxxxxx_H: HTTPSubscriberTransport.send()
12:33:19 F8C Drvrs: xxxxxx- ST:xxxxxx_H: Preparing HTTP PUT connection
to
https://xxxx.xxxxxx.com//webServices/API.svc/manager
12:33:19 F8C Drvrs: xxxxxx- ST:xxxxxx_H: Setting up SSL
connection..........
12:33:19 F8C Drvrs: xxxxxx- ST:SubscriptionShim.execute() returned:
12:33:19 F8C Drvrs: xxxxxx- ST:
<nds dtdversion="2.0">
<source>
<product build="20120601_162440" instance="xxxxxx_H"
version="3.5.7">Identity Manager Driver for
SOAP</product>
<contact>Novell, Inc.</contact>
</source>
<output>
<status level="error" type="app-connection">
<description>TrustStore or KeyStore must be provided to use an HTTPS
URL.</description>
</status>
<status level="error" type="app-connection">
<description>TrustStore or KeyStore must be provided to use an HTTPS
URL.</description>
</status>
</output>
<operation-data method="PUT"
url="https://xxxx.xxxxxx.com//webServices/API.svc/manager">
<request-headers remove-existing="true">
<request-header name="Authorization">T
900000002-10000000nWflt7YyqsjBqoJbIjLZkLQWxY%3D</request-header>
<request-header name="T-timestamp">1399048399</request-header>
<request-header name="Content-Length">709</request-header>
<request-header name="Content-Type">text/xml</request-header>
</request-headers>
</operation-data>
</nds>

2) I see that the remove-existing is false, even though i have set it to
true in my <operation-data><request-headers> element.
Also, I see the error description as "Truststore or keystore must be
provided to use an https url". Is this
because my operation-data element does not seem to be working?
When i copy the xml request created (from my log) and send it using
another client, it works fine, and I dont get to
specify any truststore.

I've read similar questions on this forum, but they don't seem to
address my questions.

Any help would be greatly appreciated.

Thanks

Mysetup:
IDM 4.0.2
Soap driver version:3.5.7


--
kmbatu
------------------------------------------------------------------------
kmbatu's Profile: https://forums.netiq.com/member.php?userid=2755
View this thread: https://forums.netiq.com/showthread.php?t=50738