Calling Axis WebService Methods from Progress 9.1C

acseko

New Member
How can I call Axis WebService Methods from Progress 9.1C?
We use Apache Axis WebService, and we need to call it from Progress..
I don't know a lot about Progress.. Sorry:confused:

Thanks for the fast answers!
 

oo-csd

New Member
Hi there ,
i have the same problem with a specific webservice i should call which resides on a appache.
if i know something i ll let you know.
Can't you call it from a html page you developped with all functions.

I you are any futher , let me know.
 

schaapie

Member
Hope this gives you some tips.
I have got this working on a OpenEdge 10.1c machine which doesn't route this through a proxy. (still have a problem with the domain for the proxy-user)

Code:
[LEFT]define variable hWebService as handle no-undo.
define variable hVolumeUnitSoap as handle no-undo.[/LEFT]
 
 
[LEFT]create server hWebService.
hWebService:connect
("-WSDL http://www.webservicex.net/convertVolume.asmx?WSDL -Service VolumeUnit")
/* ("-WSDL C:\temp\wsdlAnalyzer\ConvertVolume\convertVolume.wsdl -Binding VolumeUnitSoap -SOAPEndpoint http://www.webservicex.net/convertVolume.asmx")*/
.
message hwebservice:connected() view-as alert-box. [/LEFT]
 
[LEFT]run VolumeUnitSoap set hVolumeUnitSoap on server hWebService.[/LEFT]
 
[LEFT]DEFINE VARIABLE VolumeValue AS int64 no-undo init 5000.
DEFINE VARIABLE fromVolumeUnit AS CHARACTER no-undo init 'deciliter'.
DEFINE VARIABLE toVolumeUnit AS CHARACTER no-undo init 'liter'.
DEFINE VARIABLE ChangeVolumeUnitResult AS CHARACTER NO-UNDO.[/LEFT]
 
 
[LEFT]FUNCTION ChangeVolumeUnit RETURNS CHARACTER
(INPUT VolumeValue AS int64,
INPUT fromVolumeUnit AS CHARACTER,
INPUT toVolumeUnit AS CHARACTER)
IN hVolumeUnitSoap.[/LEFT]
 
 
[LEFT]/* Function invocation of ChangeVolumeUnit operation. */
ChangeVolumeUnitResult = ChangeVolumeUnit(VolumeValue, fromVolumeUnit, toVolumeUnit).[/LEFT]
 
[LEFT]message ChangeVolumeUnitResult
view-as alert-box.[/LEFT]
 
 
[LEFT]delete object hVolumeUnitSoap no-error.
hWebservice:disconnect() no-error.
delete object hWebservice.[/LEFT]
This is a free webservice, so you should be able to get this working as wel.
Perhaps change the int64 to int for 9.1
Furthermore look into the Progress Web-services manual dvwsv.pdf.
There are some usefull tips there about wsdl-analyzer, which can generate example code and SoapSpy which can be used for debugging.

Good luck

 

RKR

Member
This is a very good example under Progress OpenEdge, however it will not work in version 9. To communicate with a webservice in version 9 you will have to do all the programming yourself. For instance using sockets to connect to the webservice and creating your own soap messages and analysers.

Hope this gives you some tips.
I have got this working on a OpenEdge 10.1c machine which doesn't route this through a proxy. (still have a problem with the domain for the proxy-user)

Code:
[LEFT]define variable hWebService as handle no-undo.
define variable hVolumeUnitSoap as handle no-undo.[/LEFT]
 
 
[LEFT]create server hWebService.
hWebService:connect
("-WSDL http://www.webservicex.net/convertVolume.asmx?WSDL -Service VolumeUnit")
/* ("-WSDL C:\temp\wsdlAnalyzer\ConvertVolume\convertVolume.wsdl -Binding VolumeUnitSoap -SOAPEndpoint http://www.webservicex.net/convertVolume.asmx")*/
.
message hwebservice:connected() view-as alert-box. [/LEFT]
 
[LEFT]run VolumeUnitSoap set hVolumeUnitSoap on server hWebService.[/LEFT]
 
[LEFT]DEFINE VARIABLE VolumeValue AS int64 no-undo init 5000.
DEFINE VARIABLE fromVolumeUnit AS CHARACTER no-undo init 'deciliter'.
DEFINE VARIABLE toVolumeUnit AS CHARACTER no-undo init 'liter'.
DEFINE VARIABLE ChangeVolumeUnitResult AS CHARACTER NO-UNDO.[/LEFT]
 
 
[LEFT]FUNCTION ChangeVolumeUnit RETURNS CHARACTER
(INPUT VolumeValue AS int64,
INPUT fromVolumeUnit AS CHARACTER,
INPUT toVolumeUnit AS CHARACTER)
IN hVolumeUnitSoap.[/LEFT]
 
 
[LEFT]/* Function invocation of ChangeVolumeUnit operation. */
ChangeVolumeUnitResult = ChangeVolumeUnit(VolumeValue, fromVolumeUnit, toVolumeUnit).[/LEFT]
 
[LEFT]message ChangeVolumeUnitResult
view-as alert-box.[/LEFT]
 
 
[LEFT]delete object hVolumeUnitSoap no-error.
hWebservice:disconnect() no-error.
delete object hWebservice.[/LEFT]
This is a free webservice, so you should be able to get this working as wel.
Perhaps change the int64 to int for 9.1
Furthermore look into the Progress Web-services manual dvwsv.pdf.
There are some usefull tips there about wsdl-analyzer, which can generate example code and SoapSpy which can be used for debugging.

Good luck
 
Top