3

Android で複雑な WCF Web サービスにアクセスする際に問題があります。私の質問の詳細は次のとおりです。

WCF Web サービスへの一般的な要求には、次の XML があります。

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
  <s:Header><Action s:mustUnderstand="1"xmlns="http://schemas.microsoft.com/ws/2005/05/addressing/none">http://tempuri.org/manojService/MethodName</Action> 
  </s:Header>
  <s:Body>
    <MethodName xmlns="http://tempuri.org/">
      <name>ABC</name>
      <Collection xmlns:d4p1="http://schemas.datacontract.org/2004/07/YXZ.Model" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
        <d4p1:location>whatever</d4p1:location>
        <d4p1:OfficeLocation>
          <d4p1:Lattitude>28.5</d4p1:Lattitude>
          <d4p1:LocationID>0</d4p1:LocationID>
        </d4p1:OfficeLocation>
      </Collection>
      <Action>Add</Action>   
    </MethodName> 
  </s:Body>
</s:Envelope>

以下のように、KSoap ライブラリを使用してログインするための単純な SOAP コンセプトを使用しています。

try {   
    StringBuilder sb = null;
    SoapObject request = new SoapObject("http://tempuri.org/",
            "methodName");
    request.addProperty("name", "aaaa");

    SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
    envelope.dotNet = true;
    envelope.setOutputSoapObject(request);
    HttpTransportSE androidHttpTransport = new HttpTransportSE( "Service urls");
    androidHttpTransport.call("http://tempuri.org/manojService/MethodName", envelope);
    Object result = (Object) envelope.getResponse();
    String resultData = result.toString();
    System.out.println("result Data :-" + resultData);

} catch (Exception e) {
    // TODO: handle exception
    e.printStackTrace();
    System.out.println("error is occured :-" + e.getMessage());
}

配列型のデータを石鹸で送信するための解決策があれば教えてください。

4

0 に答える 0