0

我必须使用 2 个肥皂呼叫 url 用于一类。我的代码是:

public class Orderinfo extends Activity {
private static final String SOAP_ACTION = "http://xcart.com/data";
private static final String METHOD_NAME = "data";
private static final String NAMESPACE = "http://xcart.com";
private static final String URL = "http://192.168.1.168:8085/XcartLogin/services/RetailerWs?wsdl";
private static final String URL1 = "http://192.168.1.168:8085/XcartLogin/services/TodayC?wsdl";

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.table);
    SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME); 

    SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);

    envelope.setOutputSoapObject(request);

    HttpTransportSE ht = new HttpTransportSE(URL);

    try {
        ht.call(SOAP_ACTION, envelope);
        SoapPrimitive response = (SoapPrimitive)envelope.getResponse();
        SoapPrimitive s = response;
        String str = s.toString();
        String resultArr[] = str.split("&");//Result string will split & store in an array
        TextView tv = (TextView) findViewById(R.id.textView44);
      //  TextView tv = new TextView(this);

        for(int i = 0; i<resultArr.length;i++){
        tv.append(resultArr[i]+"\n\n");
       }


      } catch (Exception e) {
        e.printStackTrace();
      }
   HttpTransportSE ht1 = new HttpTransportSE(URL1);

    try {
        ht.call(SOAP_ACTION, envelope);
        SoapPrimitive response = (SoapPrimitive)envelope.getResponse();
        SoapPrimitive s = response;
        String str = s.toString();
        String resultArr[] = str.split("&");//Result string will split & store in an array
        TextView tv = (TextView) findViewById(R.id.textView43);
      //  TextView tv = new TextView(this);

        for(int i = 0; i<resultArr.length;i++){
        tv.append(resultArr[i]+"\n\n");
       }


    } catch (Exception e) {
        e.printStackTrace();
    }

   }
  }

这里必须显示第一个soap调用输出是3。第二个soap调用输出是2。但是两者都只显示2。为什么这里有什么异常。请帮助我。

4

1 回答 1

0

您在两次调用中都使用了一个 evelope 请求,因此所谓的服务方法和参数是相同的

于 2012-08-02T07:05:15.983 回答