Connect to soap Gateway

Posted by lucooms on 17-Nov-2015 08:16

Is is possible to connect o a Soap gataway from 4 gl  and use  the webservices when they are behind this gataway 

I have only the URL for this gataway and the different wsdl in a mail 

Luc 

All Replies

Posted by Roberta Miller on 17-Nov-2015 08:47

Hi Luc,

Yes, you can use SOAP Web services from the ABL. OpenEdge Development: Web Services, Part IV, "Creating ABL Clients to Consume OpenEdge SOAP Web Services" in our documentation set contains explanations, sample code, and information on how to get documentation on the Web service from the WSDL. The 11.6 version of this book is available online at http://documentation.progress.com/output/OpenEdge116/pdfs/dvwsv/dvwsv.pdf. Other documentation versions available online are listed at https://community.progress.com/community_groups/openedge_general/w/openedgegeneral/1329.openedge-product-documentation-overview.

HTH,

Roberta

Posted by lucooms on 18-Nov-2015 01:37

Hello Roberta

We did already connections to webservices in the past . When there is a soap gataway there is only a URL where you can send a soap message to . The wsdl is not exposed .

so i have no -wsdl param what is can use.

Posted by Donicello Lampe on 18-Nov-2015 02:37

You mentioned that you have the WSDL document in a mail. I assume you can save this locally and then run the WSDL Analyzer (bprowsdldoc) against it. After this you can also use the local WSDL document within your CONNECT() method to call the Web Service.

If you do not have the WSDL document, then you may consider using the new HTTP client that was introduced in OE 11.5.1 to send SOAP messages directly to this Web Service.

Posted by lucooms on 18-Nov-2015 06:04

Where can i find the documentation for sending soap message using HTTP

Posted by Bill Wood on 18-Nov-2015 06:27

WRT

>>> Where can i find the documentation for sending soap message using HTTP [using the new HTTP client introduced in 11.5.1]


This refers to a set of OOABL objects and methods that let you create HTTP requests and control the headers, cookies, and content.  You are really sending the SOAP Message as an XML payload over HTTP.   

This is documented in the help.  The online help is at:

http://documentation.progress.com/output/ua/OpenEdge_latest/#page/dvpin/making-http(s)-requests-from-abl-applications.html#

The API documentation is at

https://documentation.progress.com/output/oehttpclient/index.html

 

Posted by Donicello Lampe on 18-Nov-2015 06:29
Posted by bronco on 18-Nov-2015 07:01

But, since you have the WSDL. Place it in a directory under your working directory (say wsdl). Then you can connect like:

hWs:connect('-wsdl ./wsdl/myws.wsdl -SOAPEndpoint <the-url-you-mentioned>').

this approach is a lot easier than fabricating the XML's yourself. It is faster than fetching the wsdl over the web and it's easier to prove that the other end changed its WSDL without telling you. Moreover, you can put the WSDL in a VCS for tracebility.

This thread is closed