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.