こんにちは、Eclipse を使用して Android 上で開発し、.Net Web サービスに接続しようとしています。webservice メソッドには "usuario" と "password" というパラメーターがあり、ブール値を返します。
ksoap2 ライブラリを使用して Web サービスを呼び出していますが、問題が発生しています。Web サービスを呼び出そうとすると、アプリケーションがクラッシュします。
変数 "transporte" の応答ヘッダーを見ると、"HTTP/1.1 500 Internal Server Error" と表示されているので、パラメーターなどに問題があるのではないかと思います。Androidマニフェストへのインターネット接続権限は許可済みです。
そして、エミュレーターでアプリを実行しています。
これが私のコードです:
public class EntrarActivity extends Activity {
///---Constantes para la invocación del servicio---
private static final String METHOD_NAME = "existeUsuario";
private static final String SOAP_ACTION = WebServiceConstants.NAMESPACE + EntrarActivity.METHOD_NAME;
///---Declaración de variables para consumir el servicio---
private SoapObject request;
private SoapSerializationEnvelope envelope;
private SoapPrimitive resultsRequestSoap;
///---Declaracion de variable para serializar/deserializar
Gson gson;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_entrar);
}
public void clicked_loginButton(View view)
{
String usuario = ((EditText)findViewById(R.id.editText_mail_entrar)).getText().toString();
String password = ((EditText)findViewById(R.id.editText_password_entrar)).getText().toString();
request = new SoapObject(WebServiceConstants.NAMESPACE, EntrarActivity.METHOD_NAME);
//---le agregamos los parametros---
request.addProperty("usuario", usuario);
request.addProperty("password", password);
envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.dotNet = true; //por que es .NET
envelope.setOutputSoapObject(request);
HttpTransportSE transporte = new HttpTransportSE(WebServiceConstants.URL);
try {
transporte.call(EntrarActivity.SOAP_ACTION, envelope);
resultsRequestSoap = (SoapPrimitive)envelope.getResponse();
} catch (IOException e) {
e.printStackTrace();
} catch (XmlPullParserException e) {
e.printStackTrace();
}
String strJson = resultsRequestSoap.toString();
}
}