I need to be able to send the SOAPAction as part of the SOAP header
information to several differnt Web Services.

The IDM 3.5.1 SOAP Driver has an optional subscriber settting which
sets the SOAPAction to a particular value.

Of course a single SOAPAction is totally meaningless so you need the
capablity to set the SOAPAction yourself.

In section 5.5.2 of the implementation guide it advises you can change
this value by using the "soap-action" operation data attributes.

This does not seem to work.

If I enable the optional subscriber setting I can see it being added
to the HTTP request.

[11/07/07 03:02:35.843]:ITDS-WS-DHS ST:ITDS-WS-DHS:
HTTPSubscriberTransport.send()
[11/07/07 03:02:35.843]:ITDS-WS-DHS ST:ITDS-WS-DHS: Preparing HTTP
POST connection to http://127.0.0.1:8888/mockUserWSSoapBinding
[11/07/07 03:02:35.859]:ITDS-WS-DHS ST:ITDS-WS-DHS: Setting the
following HTTP request properties:
[11/07/07 03:02:35.859]:ITDS-WS-DHS ST:ITDS-WS-DHS: SOAPAction:
#batchRequest

This is despite me setting the soap-action attribute as can be seen by
the input to the SOAP Output Transform stylesheet.

<add-attr attr-name="organisationTelephone">
<value>03-9096-0000</value>
</add-attr>
<operation-data soap-action="addUser">
<password-subscribe-status>
<association/>
</password-subscribe-status>
</operation-data>
</add>
</input>
</nds>

This operation-data survives the SOAP Output Transform.

<add-attr attr-name="organisationTelephone">
<value>03-9096-0000</value>
</add-attr>
<operation-data soap-action="addUser">
<password-subscribe-status>
<association/>
</password-subscribe-status>
</operation-data>
</add>
</input>
</nds>

But not the SPML or DSML Output Transform.

<operation-data parent-node-1="addUserResponse">
<return-to-me class-name="User" command="add"
event-id="N333-NDS#20071106160232#1#1"
qualified-src-dn="C=AU\O=VICGOV\OU=DHS\OU=user\CN=mdod2907"
src-dn="\PROV-ITDS\AU\VICGOV\DHS\user\mdod2907" src-entry-id="88175"/>
</operation-data>
</itds:addUser>
</soap-env:Body>
</soap-env:Envelope>
</input>
</nds>


So it appears to me that the "out of the box" solution does not allow
me to set the SOAPAction in PB Code and have it survive the output
transform.

So what do I do? How do I resolve this issue?

Do I have to add something to either the DSML or ITDS Output Transform
style sheets to preserve the SOAPAction?

Is it a waste of time me setting it in an earlier policy?

This is probably to worst driver in terms of documentation and
avaialble examples.

It sometimes feels like you are using the development kit to create a
driver from scratch.