Adding namespaces to a soap-envelope

Posted by Jens Dahlin on 01-Oct-2014 06:42

I'm trying to implement WS-Security using the built in web service client. One big problem is that I need to add several namespaces to the actual SOAP-envelope (not the header). 

What I want is something like this:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"     xmlns:sec="http://xml.amadeus.com/2010/06/Security_v1" xmlns:typ="http://xml.amadeus.com/2010/06/Types_v1" xmlns:app="http://xml.amadeus.com/2010/06/AppMdw_CommonTypes_v3" xmlns:ses="http://xml.amadeus.com/2010/06/Session_v3" xmlns:fmp="http://xml.amadeus.com/FMPTBQ_14_1_1A">
  <soapenv:Header>
  ...   
  </soapenv:Header>

I know I can create headers and change them using CREATE SOAP-HEADER and so on and that seems to work fine. I don't really know how (if) I can get hold of the actual SOAP envelope though...

Running 11.3 (on RedHat Linux)

All Replies

Posted by Evan Bleicher on 01-Oct-2014 08:01

As you have observed, when calling a Web Service through the ABL, the language provides access to the SOAP header but not the SOAP envelope.  

Posted by Jens Dahlin on 01-Oct-2014 08:10

That is very unfortunate. This KB entry actually gave me some hope: http://knowledgebase.progress.com/articles/Article/P88147

Currently OpenEdge does not implement any of the WS-Security specifications in either the client or Web Services Adapter (WSA). As a workaround the following can be used:

- Use Sonic ESB as a provider for those security services. This can be easily integrated with ABL applications.
- For outgoing WS-Security, create SOAP Headers containing the WS-Security content manually using the OpenEdge Web Service client.

This thread is closed