أنا حاليا أعمل على مشروع تطبيق على الأندرويد لكن واجهتني مشكلة في موضوع الويب سيرفيس حيث أنني أستخدم ال KSOAP في الربط بين ال ASP.net و Android حيث أنني عندما أطلب (;()envelope.getResponse ) يحدث Force close
سأقوم بالأسفل بكتابة كود Asp.net and java
:Asp.net code
[كود]using System;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.Xml.Linq;
using System.IO;
using System.Xml;
[WebService(Namespace = "http:test.com/")]
//[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
// To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line.
// [system.Web.Script.Services.ScriptService]
public class Service : System.Web.Services.WebService
{
public Service()
{
//Uncomment the following line if using designed components
//InitializeComponent();
}
[soapRpcMethod(), WebMethod]
public String HelloWorld()
{
return "hellow";
}
}[/كود]
Android code:
[كود]package your.packag.com;
import java.io.IOException;
import org.ksoap2.SoapEnvelope;
import org.ksoap2.SoapFault;
import org.ksoap2.serialization.PropertyInfo;
import org.ksoap2.serialization.SoapObject;
import org.ksoap2.serialization.SoapSerializationEnvelope;
import org.ksoap2.transport.HttpTransportSE;
import org.xmlpull.v1.XmlPullParserException;
import android.app.Activity;
import android.net.http.AndroidHttpClient;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
public class FofoActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
SoapObject request = new SoapObject("http://test.com/", "HelloWorld");
final SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER10);
envelope.dotNet = true;
envelope.setOutputSoapObject(request);
HttpTransportSE androidHttpTransport = new HttpTransportSE("http://localhost/WebSite2/Service.asmx");
try {
androidHttpTransport.call("http://test.com/HelloWorld", envelope);
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (XmlPullParserException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
Button b=(Button)findViewById(R.id.button1);
b.setOnClickListener(new OnClickListener()
{
public void onClick(View _view) {
try {
envelope.getResponse();
} catch (SoapFault e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//ed1.setText(p.Name);
}
});
}
}[/كود]