Hello
I'm trying to define a document-style SOAP binding. So
far it works. I even managed to have attachment
support.
The problem is that I now need a array as input
parameter for one of my operations. In messages which
are used in a document-style binding I MUST use the
element attribute. I can't use the type attribute. I
specified the following type and element:
<type>
...
<complexType name="StringArray">
<complexContent>
<restriction base="soapenc:Array">
<attribute ref="soapenc:arrayType"
wsdl:arrayType="xsd:string[]"/>
</restriction>
</complexContent>
</complexType>
<element name="TerminalList"
type="types:StringArray"/>
...
</type>
It compiles fine with wscompile (jwsdp 1.4, wscompile
1.1.2) but when I look at the interface the array is
mapped to SOAPElement.
When I have a rpc-style binding and I specify
type="types:StringArray" it is mapped to String[].
How can I tell wscompile to map my
TerminalList-Element to an Array?
Thank a lot in advance. Following the complete WSDL:
------------------------------------------------------
<?xml version="1.0" standalone="yes"?>
<definitions
name="FileDistributorService"
targetNamespace="
http://ascom.com/FileDistributor"
xmlns="
http://schemas.xmlsoap.org/wsdl/"
xmlns:wsdl="
http://schemas.xmlsoap.org/wsdl/"
xmlns:soap="
http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:xsd="
http://www.w3.org/2001/XMLSchema"
xmlns:types="
http://ascom.com/FileDistributor/types"
xmlns:mime="
http://schemas.xmlsoap.org/wsdl/mime/"
xmlns:tns="
http://ascom.com/FileDistributor"
xmlns:wsi="
http://ws-i.org/profiles/basic/1.1/xsd"
xmlns:soapenc="
http://schemas.xmlsoap.org/soap/encoding/"
>
<types>
<schema
targetNamespace="
http://ascom.com/FileDistributor/types"
xmlns="
http://www.w3.org/2001/XMLSchema"
xmlns:wsi="
http://ws-i.org/profiles/basic/1.1/xsd"
xmlns:wsdl="
http://schemas.xmlsoap.org/wsdl/"
xmlns:types="
http://ascom.com/FileDistributor/types">
<import
namespace="
http://ws-i.org/profiles/basic/1.1/xsd"
schemaLocation="WS-ISwA.xsd"/>
<import
namespace="
http://schemas.xmlsoap.org/soap/encoding/"/>
<complexType name="StringArray">
<complexContent>
<restriction base="soapenc:Array">
<attribute ref="soapenc:arrayType"
wsdl:arrayType="xsd:string[]"/>
</restriction>
</complexContent>
</complexType>
<element name="TerminalList"
type="types:StringArray"/>
<element name="SliceName" type="xsd:string"/>
<element name="UpdateId" type="xsd:string"/>
<element name="FileReference"
type="wsi:swaRef"/>
</schema>
</types>
<message name="getConfigurationRequest">
<part name="terminalList"
element="types:TerminalList"/>
</message>
<message name="getConfigurationResponse">
<part name="configFile"
element="types:FileReference"/>
</message>
<message name="getUpdateRequest">
<part name="updateId" element="types:SliceName"/>
<part name="sliceName" element="types:UpdateId"/>
</message>
<message name="getUpdateResponse">
<part name="updateRef"
element="types:FileReference"/>
</message>
<portType name="FileDistributor">
<operation name="getConfiguration">
<input message="tns:getConfigurationRequest"/>
<output message="tns:getConfigurationResponse"/>
</operation>
<operation name="getUpdate">
<input message="tns:getUpdateRequest"/>
<output message="tns:getUpdateResponse"/>
</operation>
</portType>
<binding name="FileDistributorBinding"
type="tns:FileDistributor">
<soap:binding style="document"
transport="
http://schemas.xmlsoap.org/soap/http"/>
<operation name="getConfiguration">
<input>
<soap:body parts="terminalList"
use="literal"/>
</input>
<output>
<soap:body parts="configFile" use="literal"/>
<mime:multipartRelated/>
</output>
</operation>
<operation name="getUpdate">
<input>
<soap:body parts="updateId" use="literal"/>
<soap:body parts="sliceName" use="literal"/>
</input>
<output>
<soap:body parts="updateRef" use="literal"/>
<mime:multipartRelated/>
</output>
</operation>
</binding>
<service name="FileDistributorService">
<port name="FileDistributorPort"
binding="tns:FileDistributorBinding">
<soap:address
location="
http://localhost:8080/filedistributor/filedistributor"/>
</port>
</service>
</definitions>
---------------------------------------------------
additionally the included WS-ISwA.xsd:
---------------------------------------------------
<?xml version="1.0" encoding="utf-8" ?>
<xsd:schema
xmlns:xsd="
http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified"
targetNamespace="
http://ws-i.org/profiles/basic/1.1/xsd"
xmlns:tns="
http://ws-i.org/profiles/basic/1.1/xsd">
<xsd:simpleType name="swaRef">
<xsd:restriction base="xsd:anyURI" />
</xsd:simpleType>
</xsd:schema>
Regards
Oliver Jaun
___________________________________________________________ALL-NEW Yahoo! Messenger - all new features - even more fun!
http://uk.messenger.yahoo.com
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe_at_jax-rpc.dev.java.net
For additional commands, e-mail: users-help_at_jax-rpc.dev.java.net