0

SOAP 関数を使用して Web サービスから取得するコードを作成しました。問題は、応答が xml 文字列ではないことです。知っておくべきことは、Android コードの SOAP 関数からのエラーですか? またはWebサービスから?なぜ結果がこうなるのか

 public String SOAP_ACTION2 = "http://tempuri.org/GetDataTable";

    public String OPERATION_NAME2 = "GetDataTable";

    public String SOAP_ADDRESS2 = "http://192.168.0.15/EServicedesk/DesktopModules/EServiceDesk.Website/ESDWebService/Auth.asmx?WSDL";
Object response;
String XMLData = null;
    SoapSerializationEnvelope envelope;
    SoapRequestTask2 task;

 @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        task = new SoapRequestTask2();
        try { 
            XMLData = task.execute().get();
            Log.i("task ", XMLData);
        } catch (InterruptedException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (ExecutionException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

}

private class SoapRequestTask2 extends AsyncTask<Void, Void, String> {
        // runs on ui thread.
        private String data;

        protected void onPreExecute() {

        }

        // runs in the background thread. do not update ui from here
        protected String doInBackground(Void... params) {
            SoapObject request = new SoapObject(WSDL_TARGET_NAMESPACE,
                    OPERATION_NAME2);
            PropertyInfo pi = new PropertyInfo();
            pi.setName("UserID");
            pi.setValue(193);
            pi.setType(Integer.class);
            request.addProperty(pi);


            envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
            envelope.dotNet = true;

            envelope.setOutputSoapObject(request);

            HttpTransportSE httpTransport = new HttpTransportSE(SOAP_ADDRESS2);

            response = null;
            try {
                // httpTransport.debug=true;
                httpTransport.call(SOAP_ACTION2, envelope);
                // String ss = httpTransport.requestDump;
                response = envelope.getResponse();

                data = response.toString();
            //  Log.i("respons", envelope.getResponse().toString());
            } catch (Exception exception) {
                response = exception.toString();
                XMLData = response.toString();
            }

            return data;
        }

結果は次のとおりです。タスク 2: anyType{schema=anyType{element=anyType{complexType=anyType{choice=anyType{element=anyType{complexType=anyType{sequence=anyType{element=anyType{}; 要素=任意のタイプ{}; }; }; }; }; }; }; }; diffgram=anyType{DocumentElement=anyType{TargetTable=anyType{RequestHotList=MyRequests; カウント=927; }; TargetTable=anyType{RequestHotList=MyAssignedRequests; カウント=603; }; TargetTable=anyType{RequestHotList=MyServiceDeskRequests; カウント=969; }; TargetTable=anyType{RequestHotList=MyWorkGroupRequests; カウント=770; }; TargetTable=anyType{RequestHotList=MyApproval; カウント=82; }; }; }; }

4

1 に答える 1