1

次のメソッドで C# に記述された WEB サービスがあります。

[WebMethod]
public string ByteArrTest(byte[] Buffer)
{
if (Buffer == null) return "buffer is null";
else return Buffer.Length.ToString() + " is buffer length";
}

Ksoap2 ライブラリを使用して Android デバイスからこのメソッドを呼び出したいと思います (簡略化):

SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
                SoapEnvelope.VER11);
        envelope.dotNet = true;

new MarshalBase64().register(envelope);
        envelope.encodingStyle = SoapEnvelope.ENC;

SoapObject request = new SoapObject(this.getNameSpace(), this.getMethodName());

PropertyInfo pi4 = new PropertyInfo();
        pi4.setName("Buffer");
        byte [] b="this text".getBytes();
        pi4.setValue(b);
    pi4.setType(byte[].class);
// request.addProperty("buffer", "bytes".getBytes);
request.addProperty(pi4);
 envelope.setOutputSoapObject(request);
        HttpTransportSE androidHttpTransport = 
new    HttpTransportSE(this.getURL());//

androidHttpTransport.call(this.getSoapAction(), envelope);
Object response = envelope.getResponse();
//next implementation 

応答は常に「buffer is null」です。何が正しくないか間違っていますか? ご清聴ありがとうございました

4

1 に答える 1