java client for progress 4gl webservice

Status
Not open for further replies.

sachin4gl

New Member
hi
can anyone tell me how to consume a progress 4gl web servicee which takes table name and where clause as input and return dynamic temp-table from java client .

here is the progress client for it

DEFINE VARIABLE hWebService AS HANDLE NO-UNDO.
DEFINE VARIABLE hmagicObj AS HANDLE NO-UNDO.
DEFINE VARIABLE tname AS CHARACTER INITIAL "pt_mstr " FORMAT "x(10)" NO-UNDO.
DEFINE VARIABLE wclause AS CHARACTER INITIAL "where pt_part = ' 1200116 ' " FORMAT "x(60)" NO-UNDO.
DEFINE VARIABLE result AS CHARACTER NO-UNDO.
DEFINE VARIABLE tt_target1 AS HANDLE NO-UNDO.
DEFINE VARIABLE lstatus AS LOGICAL NO-UNDO .
DEFINE VARIABLE bbuffer AS HANDLE .
DEFINE VARIABLE qquery AS HANDLE .
DEFINE VARIABLE i AS INTEGER .


UPDATE tname wclause .
CREATE SERVER hWebService.
lstatus = hWebService:CONNECT("-WSDL 'http://172.29.58.194:8080/wsa/wsa1/wsdl?targetURI=urn:magic-org'").
MESSAGE "Connectec : " lstatus VIEW-AS ALERT-BOX .
IF lstatus THEN
DO:
RUN magicObj SET hmagicObj ON hWebService.
MESSAGE "handle : " hmagicObj VIEW-AS ALERT-BOX .
RUN magic1 IN hmagicObj(INPUT tname, INPUT wclause, OUTPUT result, OUTPUT TABLE-HANDLE tt_target1).
IF tt_target1 = ? THEN LEAVE .
bbuffer = tt_target1:DEFAULT-BUFFER-HANDLE .
CREATE QUERY qquery .
qquery:SET-BUFFERS(bbuffer) .
qquery:QUERY-PREPARE("for each " + tt_target1:NAME + " " + wclause ) .
qquery:QUERY-OPEN().

OUTPUT TO value("C:\OpenEdge\WRK\" + tname + ".txt" ).
DO WHILE qquery:GET-NEXT():
DO i = 1 to bbuffer:NUM-FIELDS:
PUT UNFORMATTED
bbuffer:BUFFER-FIELD(i):NAME + " " + " = " +
bbuffer:BUFFER-FIELD(i):BUFFER-VALUE() skip.
END.
PUT UNFORMATTED
"-----------------------------------------------" SKIP.
END.
OUTPUT CLOSE .

qquery:QUERY-CLOSE().
DELETE OBJECT qquery.
DELETE OBJECT tt_target1.
END.
 
Status
Not open for further replies.
Top