How to make arrayType show up in a web service mapping.

How to make arrayType show up in a web service mapping.

book

Article ID: KB0089525

calendar_today

Updated On:

Products Versions
TIBCO ActiveMatrix BusinessWorks -
Not Applicable -

Description

Description:
Complex Elements in "wsdl:arrayType" do not show up in the web service input. The "wsdl:arrayType" works fine while used to define complexType in WSDL, but will not work if used in XSD.

Resolution

1). Define the complexType in WSDL, that is, to embed xsd in wsdl. Relate to "ArrayTypeInWSDL.zip", which is used exactly to show how to embed  xsd into WSDL.  Make the namespace in "<wsdl:types> <xsd:schema> <xsd:import..." comply to prefix and namespace in "<wsdl:definitions...".

2).The other way shows up , after we refer to some official docs on WSDL. See R2110 until R2113 and examples in http://www.ws-i.org/Profiles/BasicProfile-1.1-2004-08-24.html; http://www.w3.org/TR/wsdl#_types.
----------------------------------------------------------------------------
Replace the "arrayType" contents in xsd:

<xsd:attribute wsdl:arrayType="impl:ResultadoOperacion[]" ref="soapenc:arrayType"/>

with

<xsd:sequence>
<xsd:element name="PERSON" type="implWSDL:PERSON" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
----------------------------------------------------------------------------

####--------------- Example Details --------------------####
=====================================================    
<xsd:complexType name="ArrayOfResultadoOperacion">
<xsd:complexContent>
<xsd:restriction base="soapenc:Array">
<xsd:attribute wsdl:arrayType="impl:ResultadoOperacion[]" ref="soapenc:arrayType"/>
</xsd:restriction>
</xsd:complexContent>
</xsd:complexType>
------------------ Replaced to ------------------------------------    
<xsd:complexType name="ArrayOfPERSON">
<xsd:complexContent>
<xsd:restriction base="soapenc:Array">
<xsd:sequence>
<xsd:element name="PERSON" type="implWSDL:PERSON" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:restriction>
</xsd:complexContent>
</xsd:complexType>
=====================================================    
####--------------- Example Details --------------------####

Issue/Introduction

How to make arrayType show up in a web service mapping.

Additional Information


Attachments

How to make arrayType show up in a web service mapping. get_app
How to make arrayType show up in a web service mapping. get_app