1

私は自分のアプリケーションで SOAP リクエストを使用しています。SOAP リクエストの構造は次のとおりです。

 <Data>
       <Keys>
          <String>
            <V>string</V>
            <K>string</K>
          </String>
          <String>
            <V>string</V>
            <K>string</K>
          </String>
        <Keys>
        <CriteriaKeys>
          <String>
            <V>string</V>
            <K>string</K>
          </String>
          <String>
            <V>string</V>
            <K>string</K>
          </String>
        </CriteriaKeys>
        <No>int</No>
        <Size>int</Size>
      </Data>

これで、リクエストへの入力の設定に問題があります.addpropertyメソッドを使用してこの複雑なタイプの入力を設定するにはどうすればよいですか.以下は私のSOAP呼び出しコードです:

SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);    
            SoapObject authentication = new SoapObject(NAMESPACE,"authentication"); 

                 Setting property for authentication

                request.addSoapObject(authentication);
               SoapSerializationEnvelope envelope=new SoapSerializationEnvelope(SoapEnvelope.VER11);
            envelope.setOutputSoapObject(request);
            envelope.dotNet=true;
            HttpTransportSE androidHttpTransport = new HttpTransportSE(URL); 
            try
            {               
                androidHttpTransport.call(SOAP_ACTION,envelope);
                SoapObject result=(SoapObject)envelope.getResponse(); 
                Log.i("myApp",result.toString());  
                } 
4

1 に答える 1

1

HTTP のネイティブ メソッド/クラスを使用している場合、Web 呼び出しでこの要求を設定する簡単な方法があります。

HttpPost post = new HttpPost(url);
post.setEntity(new StringEntity(yourxmlrequestString, "utf-8"));
于 2012-05-18T05:46:28.407 に答える