I have the solution:

public byte[] getPIWISData(String username, String password, String orderNo) 
throws DMSTestException {
        try {
            Call call = createCall("getPIWISData");
            call.setReturnType( org.apache.axis.Constants.XSD_BASE64);
            call.setReturnClass(byte[].class);
            call.addParameter("username", org.apache.axis.Constants.XSD_STRING, 
javax.xml.rpc.ParameterMode.IN);
            call.addParameter("password", org.apache.axis.Constants.XSD_STRING, 
javax.xml.rpc.ParameterMode.IN);
            call.addParameter("orderNo", org.apache.axis.Constants.XSD_STRING, 
javax.xml.rpc.ParameterMode.IN);

            byte[] dd = (byte[]) call.invoke(new Object[]{username, password, 
orderNo});
            return dd;
            [...]

I forgot the possibility of "byte[].class" in Java, I thought it would not be 
possible for primitive datatypes.

But thanks anyway!

[EMAIL PROTECTED] schrieb am 18.01.05 13:24:41:
> 
> Hi all,
> 
> i have a problem where i didnīt found a solution in the mailinglist:
> 
> I need to get a byte array stream from an soap response (the streams are 
> files). The corresponding message in the wsdl file is
> 
> <wsdl:message name="getPIWISDataResponse">
> 
>       <wsdl:part name="getPIWISDataReturn" type="xsd:base64Binary"/>
> 
> </wsdl:message>
> 
> An example which iīve sniffed:
> 
> <?xml version="1.0" encoding="UTF-8"?>
> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"; 
> xmlns:xsd="http://www.w3.org/2001/XMLSchema"; 
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>
>  <soapenv:Body>
>   <ns1:getPIWISDataResponse 
> soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"; 
> xmlns:ns1="http://soapinterop.org/";>
>    <ns1:getPIWISDataReturn 
> xsi:type="xsd:base64Binary">IU5vdGU6IFJlY29yZHMgYXJlIG [...]
> </ns1:getPIWISDataResponse>
>  </soapenv:Body>
> </soapenv:Envelope>
> 
> Axis generated the method signature for the client with this:
> 
> public byte[] getPIWISData(String username, String password, String orderNo)
> 
> And that is exactly my problem:  How can I retrieve the byte array? Because 
> with Axis methods of the class Call like
> 
> call.invoke( new Object[] { "user", "pass", "1234" } ) it returns objects, 
> but not a byte array.
> 
> I would be glad if you could help me.
> 
> 
> ______________________________________________________________
> Verschicken Sie romantische, coole und witzige Bilder per SMS!
> Jetzt bei WEB.DE FreeMail: http://f.web.de/?mc=021193
> 


__________________________________________________________
Mit WEB.DE FreePhone mit hoechster Qualitaet ab 0 Ct./Min.
weltweit telefonieren! http://freephone.web.de/?mc=021201

Reply via email to