Skip to Content
0
Former Member
Nov 16, 2005 at 08:43 AM

External definition import WSDL complex type problem

278 Views

Hi,

i have created a webservice using apache axis and created an external definition for the service. You can see the respective WSDL recognized by XI below. The service takes an array of adresses. Unfortunately, when I want to define the message mapping, theres only the array but not the address attributes. What would be a proper definition of the service?

Cheers,

Heiko

===================================================

1. WSDL from external defintion:

<?xml version="1.0" encoding="ISO-8859-1"?>

http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://localhost:8080/axis/services/AdressService">

<wsdl:types>

http://www.w3.org/2001/XMLSchema" xmlns="http://localhost:8080/axis/services/AdressService" targetNamespace="http://localhost:8080/axis/services/AdressService">

http://schemas.xmlsoap.org/soap/encoding/" />

http://schemas.xmlsoap.org/wsdl/" xmlns:soapenc=" http://schemas.xmlsoap.org/soap/encoding/" name="AddressDto">

<xsd:sequence>

<xsd:element name="ID" type="xsd:string" nillable="true" />

<xsd:element name="name" type="xsd:string" nillable="true" />

<xsd:element name="strasse" type="xsd:string" nillable="true" />

<xsd:element name="ort" type="xsd:string" nillable="true" />

</xsd:sequence>

</xsd:complexType>

http://schemas.xmlsoap.org/wsdl/" xmlns:soapenc=" http://schemas.xmlsoap.org/soap/encoding/" name="ArrayOfAddressDto">

<xsd:complexContent>

<xsd:restriction base="soapenc:Array">

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

</xsd:restriction>

</xsd:complexContent>

</xsd:complexType>

</xsd:schema>

</wsdl:types>

<wsdl:message name="writeAddressDataResponse" />

<wsdl:message name="writeAddressDataRequest">

<wsdl:part xmlns:generateduniqueprefix3="http://localhost:8080/axis/services/AdressService" name="addresses" type="generateduniqueprefix3:ArrayOfAddressDto" />

</wsdl:message>

</wsdl:definitions>

2. XSD extracted from WSDL:

<?xml version="1.0" encoding="UTF-8"?>

http://www.w3.org/2001/XMLSchema" xmlns="http://localhost:8080/axis/services/AdressService">

http://schemas.xmlsoap.org/soap/encoding/" />

http://schemas.xmlsoap.org/wsdl/" xmlns:soapenc=" http://schemas.xmlsoap.org/soap/encoding/" />

http://schemas.xmlsoap.org/wsdl/" xmlns:soapenc=" http://schemas.xmlsoap.org/soap/encoding/">

<xsd:complexContent>

<xsd:restriction base="soapenc:Array">

http://www.w3.org/2001/XMLSchema" />

</xsd:restriction>

</xsd:complexContent>

</xsd:complexType>

</xsd:schema>

??? Where are the atributes of the address here ???