私はアンドロイド開発の新入生です。今日私はKSOAP2を使ってサーバー上でWCFを完成させました。まず、WCFをWindowsフォームで使用しようとします。正常に実行され、データがアップロードされました。それから私はKSOAP2でWCFを使用します。文字列はうまく送信できません。エラーは次のとおりです。 メソッドが 'org.ksoap2.SoapFault'例外をスローしました。 エラーのdetialは次のとおりです。 a:InternalServiceFault 値をnullにすることはできません。 パラメータ名:sAndroid用WCF(webservice)
サーバプログラムおよびアンドロイドプログラムに「s」というパラメータはありません。 .NETのビジョンはフレームワーク4.0です。 .NET Framework 4.5を使用している場合、アンドロイドはKSOAP2でそれを使用できます。 しかし、私は4.0を使用する必要があります どうすればこの問題を解決できますか? 乾杯。
アンドロイドのコードを以下に示します。
transferthread = new Thread(new Runnable() {
@Override
public void run() {
while (true)
{
SoapObject request = new SoapObject(NAMESPACE,METHOD_NAME);
int a = 1;
request.addProperty("userid",a);
request.addProperty("healthData",info);
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER10);
envelope.dotNet = true;
envelope.bodyOut = request;
envelope.setOutputSoapObject(request);
HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);
androidHttpTransport.debug = true;
try {
androidHttpTransport.call(SOAP_ACTION, envelope);
// final SoapPrimitive result = (SoapPrimitive)envelope.getResponse();
envelope.getResponse();
Log.e("str",envelope.getResponse().toString());
a=1;
//Log.e("aaa",envelope.getResponse().toString());
} catch (IOException e) {
e.printStackTrace();
} catch (XmlPullParserException e) {
e.printStackTrace();
}
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
});
transferthread.start();
私はksoap2の問題だと思います。