2肥皂呼叫使用同一类

时间:2012-08-02 07:00:07

标签: android web-services soap

我必须使用2个肥皂调用网址才能在一个类中使用。 我的代码是:

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个。为什么这里有什么例外。请帮助我。

1 个答案:

答案 0 :(得分:0)

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