No to mi prijde divny, protoze nam to takhle funguje jak chcete vy (i ja) a ne
jak popisujete, asi bude problem jeste
nekde jinde ....
Pro jistotu prikladam zjednodusene WSDLko, ktere my funguje jak cekate, pokud
zavolam wsdl2java bez dalsich parametru
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions name="Service"
targetNamespace="http://www.XXX.cz/serv/"
xmlns:types="http://www.XXX.cz/serv/"
xmlns:xmime="http://www.w3.org/2005/05/xmlmime"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">
<wsdl:types>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:tns="http://www.XXX.cz/serv/" attributeFormDefault="unqualified"
elementFormDefault="unqualified"
targetNamespace="http://www.XXX.cz/serv/">
<xs:element name="string" type="xs:string" />
<xs:complexType name="result">
<xs:sequence>
<xs:element name="echo" type="xs:string" />
<xs:element name="order2" type="xs:int" />
<xs:element name="order3" type="xs:int" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="fault">
<xs:sequence>
<xs:element name="code" type="xs:int" />
</xs:sequence>
</xs:complexType>
</xs:schema>
</wsdl:types>
<wsdl:message name="message">
<wsdl:part name="message" element="types:string" />
</wsdl:message>
<wsdl:message name="result">
<wsdl:part name="result" element="types:result" />
</wsdl:message>
<wsdl:message name="fault">
<wsdl:part name="fault" element="types:fault" />
</wsdl:message>
<wsdl:portType name="Service">
<wsdl:operation name="echo">
<wsdl:input name="message" message="types:message" />
<wsdl:output name="result" message="types:result" />
<wsdl:fault name="fault" message="types:fault" />
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="ServiceSoapBinding" type="types:Service">
<soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http" />
<wsdl:operation name="echo">
<soap:operation soapAction="" style="document" />
<wsdl:input name="message">
<soap:body use="literal" />
</wsdl:input>
<wsdl:output name="result">
<soap:body use="literal" />
</wsdl:output>
<wsdl:fault name="fault">
<soap:fault name="fault" use="literal" />
</wsdl:fault>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="Service">
<wsdl:port name="Port" binding="types:ServiceSoapBinding">
<soap:address location="XXXX" />
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
Snad to pomuze ...
Martin Kuba napsal(a):
> Jiri Mares wrote:
>> Ahoj,
>>
>> no to preci zalezi na WSDLku, jak to v nem mate udelane. Pokud mate
>> nadefinovano, ze metoda vraci composite type, ktery
>> ma atributy out3, out4 a out5 a nebo reknete, ze metoda vraci 3 veci, out3,
>> ou4 a out5 ...
>>
>> Takze mame definovany typ:
>>
>> <xs:complexType name="Vystup">
>> <xs:sequence>
>> <xs:element name="out3" type="xs:int" />
>> <xs:element name="out4" type="xs:string"
>> <xs:element name="out5" type="xs:int" />
>> </xs:sequence>
>> </xs:complexType>
>>
>> pak nadefinujeme message:
>>
>> <wsdl:message name="vystup">
>> <wsdl:part name="vystup" element="types:Vystup" />
>> </wsdl:message>
>>
>> a pak operace vypada:
>>
>> <wsdl:operation name="echo">
>> <wsdl:input name="..." message="..." />
>> <wsdl:output name="vystup" message="types:vystup" />
>> ...
>> </wsdl:operation>
>
> Právě takhle ty operace vypadají, protože ve wrapped document
> literal style ani jinak nemůžou, a generuje to
>
> void echo(..., out3, out4, out5)
>
> a ne
>
> Vystup echo(...)
>
> Makub
>
--
Jiří Mareš (mailto:[EMAIL PROTECTED])
ČSAD SVT Praha, s.r.o. (http://www.svt.cz)
Czech Republic