SOAP Request in Progress 4GL

Posted by ankitshukla on 03-Jul-2015 03:29

I have soap request tested in SOAP UI and getting the response well. But this request needs a a User and Password, that is fine with SOAP UI as we have the option to add the http header in my SOAP request but the problem is with Progress Open edge as Open Edge architecture is not designed for using Http header with SOAP request.

Is there any way out through which I can handle the http header with SOAP request?

All Replies

Posted by Michael Jacobs on 03-Jul-2015 04:31

Did you read the OpenEdge Development: Web Services book's 'Handling SOAP Message Headers in ABL'?   It can tell you what you can do to support SOAP request headers and SOAP response headers.

You did not indicate which form of user-id/password the SOAP server required - you have the options on the CONNECT() method to add HTTP BASIC user-id/password individually for a proxy server, WSDL server, and the SOAP service.  Try looking in the same book's 'Connecting to OpenEdge SOAP Web Services from ABL'; that chapter's misnamed because it is the same connection options for both a OpenEdge hosted SOAP service or a external SOAP service.

Hope this information can answer some of your questions.

Posted by ankitshukla on 03-Jul-2015 04:37

Thanks Michael...I will look into this document and will see if I find something for  me.

Posted by ankitshukla on 03-Jul-2015 09:43

That is all ok with SOAP Header. But my problem is not with adding the header with SOAP request. Earlier I was creating the XML request with passing the headers like content-type,accept, api-uid,api-key.....etc. Then requirement changes and we had to make a webservice call with SOAP format. we are handling all these wsdl and other stuff pretty well and even we are getting the response for other SOAP request but for a specific soap request response comes with fault error asking that it required api-uid and api-key(Authentication error).

same request when I apply with SOAP UI with Http Header (not soap header) passing api-uid and api-key it works well. But if I will not mention these api-id and api-key the same authentication error occurs in SOAP UI also. Therefore I made a conclusion that i need to add the http header(not soap header) with api-uid and api-key in my code.

Posted by Donicello Lampe on 03-Jul-2015 10:03

The OE Web Service client does not support HTTP headers. You should be able to use the new HTTP client which was introduced in OE 11.5.1 for that. See knowledgebase.progress.com/.../Is-there-an-HTTP-client-for-OpenEdge .

Posted by joelscampos on 03-Jul-2015 10:20

It's to access the soap header: knowledgebase.progress.com/.../000050103

Posted by Donicello Lampe on 03-Jul-2015 10:24

My understanding is that he needs access to the HTTP headers and not the SOAP headers.

Posted by ankitshukla on 03-Jul-2015 10:37

Thanks Donicello for this info but unfortunately I can not use higher then OE 10.2B.

Posted by Donicello Lampe on 06-Jul-2015 03:29

In that case see the following thread (use .NET or Aleksey's HTTPClient):

community.progress.com/.../8864.aspx

This thread is closed