私は、Androidアプリケーションの参照としてksoap2 apiを使用して、AndroidアプリケーションからリモートSQLサーバーデータベースにデータを保存しました。アイデアは、ユーザープロファイルを構築するために収集された情報であるユーザーデータを保存することです。私は以下のようにこの内部doInBackground()
メソッド を使用しました:AsyncTask
SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME1);
request.addProperty("userName",username.getText().toString());
request.addProperty("eamil",email.getText().toString());
request.addProperty("gender",gender.getSelectedItem().toString());
request.addProperty("country",country.getSelectedItem().toString());
request.addProperty("about",about.getText().toString() );
request.addProperty("pic",byteArray);
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.setOutputSoapObject(request);
envelope.dotNet = true;
try {
HttpTransportSE androidHttpTransport = new HttpTransportSE(URL,20000);
androidHttpTransport.call(SOAP_ACTION1, envelope);
if (envelope.bodyIn instanceof SoapFault) {
String str= ((SoapFault) envelope.bodyIn).faultstring;
Log.i("fault", str);
} else {
SoapObject result = (SoapObject)envelope.bodyIn;
if(result != null)
{
message=result.getProperty(0).toString();
}
}
} catch (Exception e) {
e.printStackTrace();
}
return message;
問題は、追加したときに request.addProperty("pic",byteArray);
Ksoap2をシリアル化できないというエラーを受け取ったがbyteArray
、タイプをタイプbyte[ ]
からリクエストに変更するstring
と、データがデータベースに保存されて正しく実行されたことです。これが私のWebサービスからのsnipshoteです
Public Function AddUser(userName As String, email As String, gender As String, country As String, about As String, pic As Byte()) as String
// Some code to add data to databae
Return "you are done"
End Function
この問題に関する助けは完全にありがたいです
よろしく