Consultor Eletrônico



Kbase P123258: The OpenEdge Web Service client fails with error "The requested 'WASP_DII_String' C++ type for the {
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   10/08/2010
Status: Verified

SYMPTOM(s):

The OpenEdge Web Service client fails with the following error when invoking a Web Service operation:

Error creating SOAP Call parameter: The requested 'WASP_DII_String' C++ type for the {http://www.example.com/web}EngineType XML type cannot be instantiated. Mapping to 'PSCAnyType' was found. (11797)

FACT(s) (Environment):

The Web Service is using the Document/Literal style
OpenEdge 10.1x
All Supported Operating Systems

CAUSE:

Bug# OE00149139

FIX:

Upgrade to 10.2B
As a workaround, use the OpenEdge 10.0x method of sending and receiving one LONGCHAR parameter. In order to do this run the WSDL Analyzer (bprowsdldoc) with the -show100style parameter.

Example of code that works using a single longchar:

DEFINE VARIABLE lcRequest AS LONGCHAR NO-UNDO.
DEFINE VARIABLE lcReturn AS LONGCHAR NO-UNDO.

lcRequest =
'<QACanSearch xmlns="http://www.example.com/web">
<Country>AUS</Country>
<Engine Flatten="false">Verification</Engine>
<Layout>fred</Layout>
</QACanSearch>'.
RUN DoCanSearch IN hPortType(INPUT lcRequest,
OUTPUT lcReturn) NO-ERROR.