Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/223.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Ksoap2 Web服务功能_Android_Soap_Ksoap2 - Fatal编程技术网

Android Ksoap2 Web服务功能

Android Ksoap2 Web服务功能,android,soap,ksoap2,Android,Soap,Ksoap2,所以我尝试调用ksoap2webservices并从中获取一些数据,但我一直得到一个错误,没有输出。在webservices上有一个名为HelloWorld的部分,它只用于测试,它可以工作,我得到了正确的输出,但是当我试图从这个部分访问数据时,它不工作,不断地出错 代码如下: import android.content.Intent; import android.media.MediaPlayer; import android.net.Uri; import android.os.Asyn

所以我尝试调用ksoap2webservices并从中获取一些数据,但我一直得到一个错误,没有输出。在webservices上有一个名为HelloWorld的部分,它只用于测试,它可以工作,我得到了正确的输出,但是当我试图从这个部分访问数据时,它不工作,不断地出错

代码如下:

import android.content.Intent;
import android.media.MediaPlayer;
import android.net.Uri;
import android.os.AsyncTask;
import android.os.Bundle;
import android.util.Base64;
import android.util.Log;
import android.view.View;
import android.widget.MediaController;
import android.widget.VideoView;

import org.ksoap2.HeaderProperty;
import org.ksoap2.SoapEnvelope;
import org.ksoap2.serialization.SoapObject;
import org.ksoap2.serialization.SoapPrimitive;    
import org.ksoap2.serialization.SoapSerializationEnvelope;
import org.ksoap2.transport.HttpTransportSE;

import java.util.ArrayList;
import java.util.List;

public class HomeActivity{

private String SOAP_ACTION = "http://microlise.com/TMC/FindConsignmentSummaries";
private String NAME_SPACE = "http://microlise.com/TMC";
private String METHOD_NAME = "FindConsignmentSummaries";
private String url = "https://ws2.microlise.com/canon_live_webservice/TMCWebService.asmx?WSDL";

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.home_page);

    MyTask myTask = new MyTask();
    myTask.execute();

}

@Override
public void onClick(View v){
}

public class MyTask extends AsyncTask<String, Integer, String> {

    @Override
    protected String doInBackground(String... params) {

        SoapObject request = new SoapObject(NAME_SPACE, METHOD_NAME);

        //request.addProperty("HelloWorld","");

        SoapObject filter = new SoapObject( NAME_SPACE,"consignmentFilter");
        filter.addProperty("ConsignmentReference","");
        filter.addProperty("OrderReference","");
        filter.addProperty("EarliestDeliveryDate","");
        filter.addProperty("LatestDeliveryDate","");
        filter.addProperty("SiteID","");
        filter.addProperty("SiteName","");


        request.addSoapObject(filter);

        SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER12);
        envelope.dotNet = true;
        envelope.setOutputSoapObject(request);

        HttpTransportSE httpTransportSE = new HttpTransportSE(url);
        httpTransportSE.debug = true;
        String requestDump = httpTransportSE.requestDump;
        String responseDump = httpTransportSE.responseDump;
        try {

            List<HeaderProperty> headersProperty = new ArrayList<>();
            headersProperty.add(new HeaderProperty("Authorization", "Basic " + android.util.Base64.encodeToString("username:pass".getBytes(), Base64.NO_WRAP)));    //org.kobjects.base64.Base64.encode("Technet:CEVA".getBytes())));
            httpTransportSE.call(SOAP_ACTION, envelope, headersProperty);
            SoapPrimitive response = (SoapPrimitive) envelope.getResponse();

            Log.d("RESULT_IS", " " + response.toString());
            Log.d("DEBUG_RESULT", " " + requestDump + " /" + responseDump);

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

        return null;
    }

    protected void onPostExecute () {

    }
}
}
你知道哪里不对吗?谢谢你们

POST /canon_live_webservice/TMCWebService.asmx HTTP/1.1
Host: ws2.microlise.com
Content-Type: application/soap+xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"     
xmlns:xsd="http://www.w3.org/2001/XMLSchema"         
xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
 <soap12:Body>
    <FindConsignmentSummaries xmlns="http://microlise.com/TMC">
      <consignmentFilter>
        <ConsignmentReference 
xmlns="http://microlise.com/webservices/TMC/">string</ConsignmentReference>
        <OrderReference 
xmlns="http://microlise.com/webservices/TMC/">string</OrderReference>
        <EarliestDeliveryDate 
xmlns="http://microlise.com/webservices/TMC/">dateTime</EarliestDeliveryDate>
    <LatestDeliveryDate xmlns="http://microlise.com/webservices/TMC/">dateTime</LatestDeliveryDate>
    <SiteID xmlns="http://microlise.com/webservices/TMC/">string</SiteID>
    <SiteName xmlns="http://microlise.com/webservices/TMC/">string</SiteName>
    <SiteAddress xmlns="http://microlise.com/webservices/TMC/">string</SiteAddress>
    <SitePostCode xmlns="http://microlise.com/webservices/TMC/">string</SitePostCode>
  </consignmentFilter>
</FindConsignmentSummaries>
 </soap12:Body>
</soap12:Envelope>
Code: soap:Sender, Reason: Server was unable to read request. ---
at org.ksoap2.serialization.SoapSerializationEnvelope.parseBody(SoapSerializationEnvelope.java:138)
 at org.ksoap2.SoapEnvelope.parse(SoapEnvelope.java:140)
 at org.ksoap2.transport.Transport.parseResponse(Transport.java:129)
 at org.ksoap2.transport.HttpTransportSE.parseResponse(HttpTransportSE.java:304)
 at org.ksoap2.transport.HttpTransportSE.call(HttpTransportSE.java:276)
 at org.ksoap2.transport.HttpTransportSE.call(HttpTransportSE.java:118)