WS-addressing elements not supporting wsu:id fields
Development toolkit for Web Services and XML data bindings for C & C++
Brought to you by:
engelen
SOAP version: 2.7.8
This is related to WS-Addressing plugin only in the
said version.
In the API function of wsaapi - "soap_wsa_request", we
can add Action, MessageId and To in the outgoing SOAP
request, but we cannot add the "wsu:Id" field in these
tags in the SOAP request.
For example, we cannot have the following:
<wsa:Action
wsu:Id="Id-39e0eb54-0676-4726-89d3-cb57daba0ba3">
http://some.URL
Issue</wsa:Action>
although we can have this:
<wsa:Action
http://some.URL
</wsa:Action>
This is different from the wsse plugin. For example,
where using the function "soap_wsse_add_Timestamp", we
could add wsu:id field in the SOAP request.
Can you please look into this?
Logged In: YES
user_id=354274
Originator: NO
Some of the SOAP WSA header fields are just strings, to keep things simple. If you want to add wsu:Id fields, please do the follows. Replase the char* defs with a struct as follows:
typedef char* _wsa__To;
=>
typedef struct _wsa__To
{ char *__item;
@char *wsu__Id;
} _wsa__To;
This way, you can use the wsa.h file as before. However, you can't use wsaapi since this depends on the current defs. Populating the WSA headers is simple though, so I suggest to take the required functionality out of wsaapi and adjust the types of those elements that need to carry a wsu:Id attribute.