Hi everybody,
I just started with axis2 and have the following problems / questions:
1)
The code generator never generates rpc style code, no matter what I specify
in my wsdl. Specifying rpc yields the same code as specifying "document".
How can I get rpc style code?
2)
In axis 1.x, when I used "multipart/related" in the "binding" section of my
wsdl file, I got a DataHandlerHolder output parameter in the server skeleton
class in the generated code. I could then attach a DataHandler to it and the
file contents where sent to the client. In axis 2 with xmlbeans no such code
is generated.
3)
Is there any chance to "manually" attach binaries via MTOM when using
generated java code? (Of course, I could do so by modifying the generated
Message Receiver, but I don't think this is a good Idea since changing the
wsdl and regenerating would make it necessary to redo those modifications. )
4)
finally, I tried to send my binary data "inline" as type xsd:base64Binary.
Data was sent encoded but was not properly decoded on the client side. No
wonder, since no type information is sent in doc/lit style.
below is my wsdl file
Thanx in advance
Thomas
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions name="TcsService"
targetNamespace="http://tcsgmbh.de/TcsService"
xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
xmlns:tcs="http://tcsgmbh.de/TcsService">
<!-- File-Download Message Definitions -->
<wsdl:message name="fepRawFileRequest">
<wsdl:part name="user" type="xsd:string"/>
<wsdl:part name="password" type="xsd:string"/>
<wsdl:part name="mandant" type="xsd:string"/>
<wsdl:part name="corp" type="xsd:string"/>
<wsdl:part name="date" type="xsd:date"/>
</wsdl:message>
<wsdl:message name="fepRawFileResponse">
<wsdl:part name="checksum" type="xsd:string"/>
<wsdl:part name="fepFileRef" type="xsd:string"/>
<wsdl:part name="fepFileCont" type="xsd:base64Binary"/>
</wsdl:message>
<!-- Generic Message Definitions -->
<wsdl:message name="GenericError">
<wsdl:part name="reason" type="xsd:string"/>
</wsdl:message>
<!-- Definition of service methods -->
<wsdl:portType name="TcsService">
<wsdl:operation name="getFepRawFile"
parameterOrder="user password mandant corp date">
<wsdl:input message="tcs:fepRawFileRequest"
name="fepRawFileRequest"/>
<wsdl:output message="tcs:fepRawFileResponse"
name="fepRawFileResponse"/>
<wsdl:fault message="tcs:GenericError" name="GenericError"/>
</wsdl:operation>
</wsdl:portType>
<!-- transport stuff -->
<wsdl:binding name="TcsSoapBinding" type="tcs:TcsService">
<wsdlsoap:binding style="rpc"
transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="getFepRawFile">
<wsdlsoap:operation
soapAction="TcsService#getFepRawFile" style="rpc"/>
<wsdl:input name="fepRawFileRequest">
<wsdlsoap:body use="literal"/>
</wsdl:input>
<wsdl:output>
<mime:multipartRelated>
<mime:part>
<wsdlsoap:body parts="checksum fepFileRef" use="literal"/>
</mime:part>
<mime:part>
<mime:content part="fepFileCont" type="text/html"/>
</mime:part>
</mime:multipartRelated>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<!-- service location -->
<wsdl:service name="TcsService">
<wsdl:port binding="tcs:TcsSoapBinding" name="TcsService">
<wsdlsoap:address
location="http://localhost:8080/axis2/services/TcsService"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
___________________________________________________________
Telefonate ohne weitere Kosten vom PC zum PC: http://messenger.yahoo.de