Android で Ksoap2 を使用する方法のすべての可能な例を見てきました。同じコードから、公開されている SOAP Web サービスにアクセスできます。しかし、サービスチームが作成したSOAPサービスを使用しようとすると、取得し続けます
「java.IO.exception: HTTP リクエストが失敗しました: HTTPS ステータス: 500」
iOS クライアントから呼び出すことができる同じサービス。
ここで何をすべきかわかりません。
名前空間が実際の URL とどのように異なるのかに関係がありますか? 知らない。
名前空間: http://xyz.net/webmethod/mobile、URL: http://xyz.com/lite/webmethod/mobile.asmx、メソッド名: ログイン
どんな助けでも大歓迎です。
Edit1:例外から詳細情報を取得しました ここに応答があります
soap:ServerServer は要求を処理できませんでした。---> オブジェクト参照がオブジェクトのインスタンスに設定されていません。
Edit2:ここに呼び出しコードを追加
SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
request.addProperty("email","xyc.com");
request.addProperty("password","Passw@rd1");
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.dotNet = true;
envelope.setOutputSoapObject(request); //prepare request
HttpTransportSE httpTransport = new HttpTransportSE(URL);
httpTransport.debug = true;
Log.i("bodyout", "" + envelope.bodyOut.toString());
try {
httpTransport.call(SOAP_ACTION, envelope); //send request
SoapObject result=(SoapObject)envelope.getResponse(); //get response
if(result != null)
Log.i("Response"," Service response is " + result);
} catch (Exception e) {
Log.e("SOAP_TEST", "========= Request start =========");
Log.e("SOAP_TEST", httpTransport.requestDump);
Log.e("SOAP_TEST", "========== Request end ==========");
Log.e("SOAP_TEST", "========= Response start ========");
Log.e("SOAP_TEST", httpTransport.responseDump);
Log.e("SOAP_TEST", "========== Response end =========");
Log.e("", "error", e);
}
}