on 2005 Nov 16 8:43 AM - last edited on 2024 Feb 04 1:08 AM by postmig_api_4
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"?>
<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://localhost:8080/axis/services/AdressService">
<wsdl:types>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://localhost:8080/axis/services/AdressService" targetNamespace="http://localhost:8080/axis/services/AdressService">
<xsd:import namespace="http://schemas.xmlsoap.org/soap/encoding/" />
<xsd:complexType xmlns:wsdl="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>
<xsd:complexType xmlns:wsdl="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"?>
<xsd:schema targetNamespace="http://localhost:8080/axis/services/AdressService" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://localhost:8080/axis/services/AdressService">
<xsd:import namespace="http://schemas.xmlsoap.org/soap/encoding/" />
<xsd:element name="addresses" type="ArrayOfAddressDto" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" />
<xsd:complexType name="ArrayOfAddressDto" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">
<xsd:complexContent>
<xsd:restriction base="soapenc:Array">
<xsd:attribute ref="soapenc:arrayType" wsdl:arrayType="impl:AddressDto[]" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
</xsd:restriction>
</xsd:complexContent>
</xsd:complexType>
</xsd:schema>
??? Where are the atributes of the address here ???
Hi Heiko,
XI does not support the use of soapenc:array. Please refer to http://www.ws-i.org/Profiles/BasicProfile-1.0-2004-04-16.html#refinement16556272 regarding the use of this construct.
Greetings Stephan
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
71 | |
10 | |
8 | |
7 | |
6 | |
6 | |
6 | |
6 | |
6 | |
5 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.