Consultor Eletrônico



Kbase P114322: Error (11773) when calling a Web Service operation that has an output parameter defined as LONGCHAR
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   3/16/2006
Status: Unverified

FACT(s) (Environment):

OpenEdge 10.1A
Web Services

SYMPTOM(s):

Error (11773) when calling a Web Service operation that has an output parameter defined as LONGCHAR

Error receiving Web Service Response: (11773)

Error receiving Web Service Response: expected element end tag '<longchar-param-name>' at line <line-number> and column <column-number> (11773)

Within the operation, there is a temp-table which uses the WRITE-XML 4GL Method to write to the output parameter defined as LONGCHAR

CAUSE:

Bug# 20060119-060

CAUSE:

This is caused by calling WRITE-XML directly on the LONGCHAR output parameter

FIX:

Upgrade to OpenEdge 10.1A01 or higher

or

Use WRITE-XML to write to a local LONGCHAR variable and then assign it to the OUTPUT parameter. e.g.:

DEFINE OUTPUT PARAMETER plcTable AS LONGCHAR NO-UNDO.

DEFINE VARIABLE vlcLocTable AS LONGCHAR NO-UNDO.
DEFINE VARIABLE vhTableHdl AS HANDLE NO-UNDO.
DEFINE VARIABLE vlRetVal AS LOGICAL NO-UNDO.

ASSIGN
vhTableHdl = TEMP-TABLE TT_Test:HANDLE.

/* write out the XML data directly */
ASSIGN
vlRetVal = vhTableHdl:WRITE-XML("LONGCHAR":U,
vlcLocTable,
YES,?,?,NO).

IF vlRetVal = FALSE THEN
DO:
MESSAGE
"WRITE-XML to LONGCHAR FAILED!":U
VIEW-AS ALERT-BOX.
END.

ASSIGN
plcTable = vlcLocTable.