誰かがこれについて私を案内してもらえますか.私はAndroidでKSOAPを使用するのはまったく初めてです.以下はXMLの私の詳細です.そして、私はWebサービスで詳細を送信したい.プロパティを追加する方法を教えてください私はそこで何か間違ったことをしていますか?
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<CheckLoginWithIPhoneData xmlns="http://tempuri.org/">
<UserName>string</UserName>
<Pin>string</Pin>
<Password>string</Password>
<DeviceID>string</DeviceID>
</CheckLoginWithIPhoneData>
</soap:Body>
</soap:Envelope>
そしてJavaコードで私はこれをしました:
public void showdetails()
{
SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME1);
request.addProperty("UserName","sometext");
request.addProperty("Pin","sometext");
request.addProperty("Password","sometext");
request.addProperty("DeviceID","sometext");
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope( SoapEnvelope.VER11);
envelope.setOutputSoapObject(request);
envelope.dotNet = true;
try {
HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);
androidHttpTransport.debug=true;
androidHttpTransport.call(SOAP_ACTION1, envelope);
Log.e("RESPONSE",""+androidHttpTransport.responseDump);
SoapObject result = (SoapObject) envelope.bodyIn;
Log.e("result",""+result);
if (result != null)
{
Log.e("val", "" + result.getProperty(0).toString());
}
else
{
Toast.makeText(getApplicationContext(), "No Response",Toast.LENGTH_LONG).show();
}
} catch (Exception e) {
e.printStackTrace();
}
}
バックグラウンドでメソッドを呼び出しました。
ただし、RESPONSE Log.e("RESPONSE",""+androidHttpTransport.responseDump); を印刷しようとすると、次のエラーが発生します。
<?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><soap:Body><soap:Fault><faultcode>soap:Client</faultcode><faultstring>
System.Web.Services.Protocols.SoapException: サーバーは HTTP ヘッダー SOAPAction: https://tempuri.org/CheckLoginWithIPhoneData
の値を認識しませんでした。