Simple Webservice

Environment (my Windows PC)
  • WinXP Pro
  • OpenEdge 10.0B
  • Apache Tomcat 5.5
I have setup the web service adapter on http://localhost:8080/wsa/wsa1 and if I type that URL I get the following

-------------------------------------------------------------
WSA Web Services

Status:wsa1:OK:111
-------------------------------------------------------------

Therefore the adapter is working okay.

I've created a simple program to add two numbers together and return the sum. I've added this to a webservice using the proxy generator. Then I deployed the web service using Progress explorer.

The webservice has a FREE session model (i.e. not managed).
The appServer it points to is STATE-FREE.

When I run the following code it hangs on the line that begins RUN simplesum ..... (I've replaced specific services in this post with WebServiceName to be generic)
-------------------------------------------------------------

DEFINE VARIABLE hWebServer AS HANDLE NO-UNDO.
DEFINE VARIABLE hWebServiceNameObj AS HANDLE NO-UNDO.
DEFINE VARIABLE piReturnValue AS INTEGER NO-UNDO.

CREATE SERVER hWebServer.

hWebServer:CONNECT("-WSDL C:\Progress\webservice\webservicename.wsdl").

/* This message says [yes WEBSERVICE] */
MESSAGE "Connected?" hWebServer:CONNECTED() hWebServer:SUBTYPE.

IF NOT hWebServer:CONNECTED() THEN RETURN.

RUN
webServiceNameObj SET hWebServiceNameObj ON hWebServer NO-ERROR.

/* This message says [yes] */
MESSAGE "Valid Handle to Procedure?" VALID-HANDLE(hWebServiceNameObj).

IF NOT VALID-HANDLE(hWebServiceNameObj) THEN RETURN.

/* Ths run statement hangs */
RUN simplesum IN
hWebServiceNameObj
(INPUT 1,
INPUT 2,
OUTPUT piReturnValue).

/* We never get here at all */
MESSAGE "return = " piReturnValue.

hWebServer: DISCONNECT().

DELETE OBJECT hWebServer.

-------------------------------------------------------------

Nothing appears in any logs anywhere on the PC.


Does anyone have any ideas why it's hanging?

Cheers

Jon
 

schebi

New Member
Which log-levels you set on TomCat, on Webservice and on the AppServer ?
And i would thing you must connect like this :

Code:
[FONT=Courier New]lRC = hWebServer:CONNECT(" -WSDL '[/FONT]http://localhost:8080/wsa/wsa1/wsdl?targetURI=urn:localhost:webservice[FONT=Courier New]'").
IF NOT lRC THEN RETURN.
[/FONT]
 
I've tried doing that and agree that it should be the way I'm referencing the wsdl file instead of using the UNC pathname.

However, there is absolutely no difference.

I get the messages that show I connected successfully but it hangs on the procedure call to simplesum (FYI simplesum as two input parameters which are added to gether and returned in an output parameter).
 

schebi

New Member
Watch your Log-Files WSA-Log and your Server-Log in the Work directory of your AppServer ! Maybe there is the solution !
 
Top