Answered Using PROGRESS 9.1.e to Consume a Webservice

Doug_1965

New Member
I am trying to pass an XML file to an I2 webservice and receive an XML file back from I2. The client is running PROGRESS 9.1.e. The customer also has PROGRESS 10.2.A up and running on a different server. I am wondering what would be the best way to accomplish this? If anyone could provide sample code I would greatly appreciate it.

Thanks
 

TomBascom

Curmudgeon
You will be much happier working on this with 10.2. Which, by the way, should be upgraded to 10.2B. "A" is 3 is 4 years old now.

You should start by reading the documentation, it's really quite good. The "table of contents" for 10.2B is here: http://communities.progress.com/pcom/docs/DOC-103525. If you scroll down a ways you will find "Web Services" in the ABL section. That would be a good place to start.

There are also a number of good threads in this forum that you can check out. But they might make more sense if you at least give the docs a read first.
 

Doug_1965

New Member
Thanks for the response. The Openedge solution looks much better. I am pretty sure I have the webservice created. I am just struggling with how to run it within a PROGRESS 9 client. Can you point me in the right direction on how to get that accomplished?
 

TomBascom

Curmudgeon
Progress 9 was created and became obsolete before web services were even dreamed of.

There was some rudimentary capability to consume web services bolted on at some point but I don't really recall the details. It was a very long time ago. I don't see anything obvious in the kbase that jogs my memory.
 

Doug_1965

New Member
Sorry I am not asking my question correctly. No problem writing the webservice call in Openedge. I am also creating and XML file in V9. I am struggling with how to run the Openedge webservice inside a V9 client. I am assuming I need to connect to the Openedge appserver; run the webservice by passing an XML file to it and I want the V9 client to receive the XML response file back. The easy solution would be to just upgrade to Openedge but out of my control at the moment.
 

TomBascom

Curmudgeon
I don't think that I understand what you mean by "run the Openedge webservice inside a V9 client".

Calling an appserver from a v9 client that runs OE10 and does all of this work for you should be feasible. But passing it an XML argument may be problematic because v9 XML support isn't very complete compared to OE10.

To the extent that it exists at all, version 9 has very, very weak support for things like XML and web services. Those all came along long after v9 was a mature product.
 

RealHeavyDude

Well-Known Member
You can consume "any" WebService with Progress 9.1e - you just need to hardcore socket program it yourself (TCP sockets were introduced with V9). I think you should be able to find an example in the src/samples folder in the Progress installation (developer licenses installed, of course) that shows how to do something like that. I have no V9 installation at hand so I can't tell you where exactly you will find it.

Heavy Regards, RealHeavyDude.
 

Jantoniopm

New Member
You can consume "any" WebService with Progress 9.1e - you just need to hardcore socket program it yourself (TCP sockets were introduced with V9). I think you should be able to find an example in the src/samples folder in the Progress installation (developer licenses installed, of course) that shows how to do something like that. I have no V9 installation at hand so I can't tell you where exactly you will find it.

Heavy Regards, RealHeavyDude.

clear and direct ... such when give helping must an answer be ... (sorry my english)
 

Rob Fitzpatrick

ProgressTalk.com Sponsor
In 9.1D there is a directory called <dlc dir>/src/samples/sockets/HTTP. It contains a couple of code samples for connecting to a web server. You may be able to adapt the socket code there to create your program to connect to a web service. The sockets directory also contains subdirectories with SMTP and WebServer code.
 

RealHeavyDude

Well-Known Member
In theory it is possible - you need to implement the SSL handshake yourself given that you have access to the necessary certificates from with a Progress session. Most likely they are residing in some certificate store which provider proper APIs.

In practice I don't know anybody that succeeded. Most people I know used a 3rd part software as proxy. I did some tests with stunnel on Windows boxes and I am aware that some people build such proxies in Java themselves.

I wound up using wget to do such things for me. There is a even a Windows version of wget available for free. From the ABL point of view is just a matter of creating an input file, using OS-COMMAND to call wget and parsing the output file from the wget call.

Heavy Regards, RealHeavyDude.
 
Top