SoapGateway not supporting arrays

Hi

I am using EntireX mediator of version 7.2.1, i tried to access a webservice which returns me an array of strings.

the wsdl has the output type as shown below









but the mediator is throwing an exception, and i could see in the logs of mediator the following message …

[slf5s.start]14 May 2004 12:31:27,052[slf5s.DATE] Thread-4[slf5s.THREAD] ERROR[slf5s.PRIORITY] xbd[slf5s.CATEGORY] - SagSoapGateway - Unsupported rpc output type: {http://localhost:8080/gateway/services/testArray}ArrayOf_xsd_string[slf5s.MESSAGE]
[slf5s.start]14 May 2004 12:31:27,052[slf5s.DATE] Thread-4[slf5s.THREAD] ERROR[slf5s.PRIORITY] xbd[slf5s.CATEGORY] - SagSequencer - SEQUENCER XException : com.softwareag.xbridge.exceptions.XException[slf5s.MESSAGE]
[slf5s.start]14 May 2004 12:31:27,052[slf5s.DATE] Thread-4[slf5s.THREAD] ERROR[slf5s.PRIORITY] xbd[slf5s.CATEGORY] - SagSequencer - com.softwareag.xbridge.exceptions.XException Unsupported rpc output type: {http://localhost:8080/gateway/services/testArray}ArrayOf_xsd_string[slf5s.MESSAGE]
[slf5s.start]14 May 2004 12:31:27,052[slf5s.DATE] Thread-4[slf5s.THREAD] ERROR[slf5s.PRIORITY] xbd[slf5s.CATEGORY] - SagSequencer - Sequencer detected Error processing [slf5s.MESSAGE]
com.softwareag.xbridge.exceptions.XException: com.softwareag.xbridge.exceptions.XException com.softwareag.xbridge.exceptions.XException Unsupported rpc output type: {http://localhost:8080/gateway/services/testArray}ArrayOf_xsd_string
at com.softwareag.xbridge.soapgateway.SoapGatewayImpl.a(Unknown Source)
at com.softwareag.xbridge.soapgateway.SoapGatewayImpl.a(Unknown Source)
at com.softwareag.xbridge.soapgateway.SoapGatewayImpl.modify(Unknown Source)
at com.softwareag.xbridge.infrastructure.ModifierProxy.modify(Unknown Source)
at com.softwareag.xbridge.sequencer.KeywordSTEP.execute(Unknown Source)
at com.softwareag.xbridge.sequencer.SequencerImpl.b(Unknown Source)
at com.softwareag.xbridge.sequencer.SequencerImpl.dispatch(Unknown Source)
at com.softwareag.xbridge.infrastructure.DispatcherImpl$MessageDispatcher.perform(Unknown Source)
at com.softwareag.xbridge.util.WorkerThread.run(Unknown Source)

Can any one kindly help me in this regard.

Thanks in Advance,
Nagesh.

Hi Nagesh,
Mediator unfortunately does not support complex data types in it’s SOAP Gateway in version 7.2.1. We fixed this, but this functionality won’t be available in the version you are referring to. It will be available in a later version this year.
Best regards
Andreas

Hi Andreas,
Thank you very much.
Regards,
Nagesh

Hi Andreas,

I installed mediator 7.3 and tried out invoking a service which returns array of strings, but even this version does not work, i could see the same error in the log i.e., com.softwareag.xbridge.exceptions.XException Unsupported rpc output type

Nagesh.

Hi Nagesh,
Sorry for the confusion I created. This functionality is also not supported in 7.3. The 7.3 version had been released in March 2004. Then we found the issue. We will support this functionality in a later version this year. I will let you know when I can tell you exactly in what version the problem is fixed and when.
Thanks for your patience.
Andreas

SOAP support for complex data types and arrays is planned for Mediator 7311 which should be generally available the first week in August.

hi!

I’m using Mediator 7.3.1.1.
I have to send a SOAP request to an arbortext E3 engine.

The WSDL is:
<?xml version="1.0" encoding="utf-8"?>
<wsdl:definitions xmlns:http=“http://schemas.xmlsoap.org/wsdl/http/” xmlns:soap=“http://schemas.xmlsoap.org/wsdl/soap/” xmlns:s=“XML Schema” xmlns:soapenc=“http://schemas.xmlsoap.org/soap/encoding/” xmlns:tns=“urn:E3UnreferencedAttachmentService” xmlns:tm=“http://microsoft.com/wsdl/mime/textMatching/” xmlns:mime=“http://schemas.xmlsoap.org/wsdl/mime/” targetNamespace=“urn:E3UnreferencedAttachmentService” xmlns:wsdl=“http://schemas.xmlsoap.org/wsdl/”>
wsdl:types
<s:schema xmlns=“XML Schema” targetNamespace=“urn:E3UnreferencedAttachmentService”>
<s:import namespace=“http://schemas.xmlsoap.org/soap/encoding/” />
<s:complexType name=“NameValuePair”>
<s:sequence>
<s:element name=“name” nillable=“true” type=“s:string” />
<s:element name=“value” nillable=“true” type=“s:string” />
</s:sequence>
</s:complexType>
<s:complexType name=“ArrayOfNameValuePair”>
<s:complexContent mixed=“false”>
<s:restriction base=“soapenc:Array”>
<s:attribute wsdl:arrayType=“tns:NameValuePair” ref=“soapenc:arrayType” />
</s:restriction>
</s:complexContent>
</s:complexType>
</s:schema>
</wsdl:types>
<wsdl:message name=“callE3EncodedRequest”>
<wsdl:part name=“parameters” type=“s:string” />
<wsdl:part name=“headers” type=“s:string” />
</wsdl:message>
<wsdl:message name=“callE3Request”>
<wsdl:part name=“parameters” type=“tns:ArrayOfNameValuePair” />
<wsdl:part name=“headers” type=“tns:ArrayOfNameValuePair” />
</wsdl:message>


Is it possible to access this webservice with mediator 7.3.1.1. ? actually it doesn’t work and i have to find i solution, but i think searching is useless, if complex types are not supportet yet, so i’m asking this first.

thx
-hannes

Hi Hannes,

In 7.3.1, complex types and arrays are supported as RPC parameters. Each parameter is treated in the same way as the entire input and output messages for document-style services. You simply pass the XPath of the array you wish to send in as a parameter and the whole object is copied into the SOAP body. Likewise, an array can be copied out of the SOAP response into the current payload.

Hope the helps.

Best regards,
Mike