Error en Callin Java webservice de Android usando k-Soap

Tengo creado un simple Webservice de inicio de sesión en Java y lo llamo desde el código de Android. Estoy pasando dos parámetros de cadena al Webservice. Pero se convierten en nulos en el Webservice.

WebService Code : public boolean authenicateUser(@WebParam(name="username")String username, @WebParam(name="password")String password) { System.out.println("Inside Authenticae USER+=========="+name+"-----"+Password);//This becomes null and null final String LOGIN_SQL="SELECT * FROM UserDetails WHERE UserName=? and Password=?"; 

El servicio Web se encuentra alojado en el servidor Localhost Tomcat

  Android Server Request : private static String NAMESPACE = "http://src.AndroidExample.Nagesh.com/"; private static String URL = "http://192.168.56.1:8080/AndroidLoginWS/LoginWebService?wsdl"; private static String SOAP_ACTION = "http://src.AndroidExample.Nagesh.com/"; Systerequest=new SoapObject(NAMESPACE,WebMethodName); System.out.println("Values before calling WS"+user.UserName+"------"+user.Password); request.addProperty("username", user.UserName); request.addProperty("password",user.Password); return request; SoapSerializationEnvelope envelope = new SoapSerializationEnvelope( SoapEnvelope.VER11); envelope.setOutputSoapObject(request); HttpTransportSE androidHttpTransport = new HttpTransportSE(URL); androidHttpTransport.call(SOAP_ACTION + WebMethodName, envelope); System.out.println("INside InvokeLoginWS==========RETURNED................."); SoapPrimitive response = (SoapPrimitive) envelope.getResponse(); loginStatus = Boolean.parseBoolean(response.toString()); 

El archivo WSDL es:

 This XML file does not appear to have any style information associated with it. The document tree is shown below. <!-- Published by JAX-WS RI (http://jax-ws.java.net). RI's version is JAX-WS RI 2.2.10 svn-revision#919b322c92f13ad085a933e8dd6dd35d4947364b. --> <!-- Generated by JAX-WS RI (http://jax-ws.java.net). RI's version is JAX-WS RI 2.2.10 svn-revision#919b322c92f13ad085a933e8dd6dd35d4947364b. --> <definitions xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:wsp="http://www.w3.org/ns/ws-policy" xmlns:wsp1_2="http://schemas.xmlsoap.org/ws/2004/09/policy" xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://src.AndroidExample.Nagesh.com/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://src.AndroidExample.Nagesh.com/" name="LoginService"> <types> <xsd:schema> <xsd:import namespace="http://src.AndroidExample.Nagesh.com/" schemaLocation="http://192.168.56.1:8080/AndroidLoginWS/LoginWebService?xsd=1"/> </xsd:schema> </types> <message name="register"> <part name="parameters" element="tns:register"/> </message> <message name="registerResponse"> <part name="parameters" element="tns:registerResponse"/> </message> <message name="authenicateUser"> <part name="parameters" element="tns:authenicateUser"/> </message> <message name="authenicateUserResponse"> <part name="parameters" element="tns:authenicateUserResponse"/> </message> <portType name="LoginMethods"> <operation name="register"> <input wsam:Action="http://src.AndroidExample.Nagesh.com/LoginMethods/registerRequest" message="tns:register"/> <output wsam:Action="http://src.AndroidExample.Nagesh.com/LoginMethods/registerResponse" message="tns:registerResponse"/> </operation> <operation name="authenicateUser"> <input wsam:Action="http://src.AndroidExample.Nagesh.com/LoginMethods/authenicateUserRequest" message="tns:authenicateUser"/> <output wsam:Action="http://src.AndroidExample.Nagesh.com/LoginMethods/authenicateUserResponse" message="tns:authenicateUserResponse"/> </operation> </portType> <binding name="LoginWSPortBinding" type="tns:LoginMethods"> <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/> <operation name="register"> <soap:operation soapAction=""/> <input> <soap:body use="literal"/> </input> <output> <soap:body use="literal"/> </output> </operation> <operation name="authenicateUser"> <soap:operation soapAction=""/> <input> <soap:body use="literal"/> </input> <output> <soap:body use="literal"/> </output> </operation> </binding> <service name="LoginService"> <port name="LoginWSPort" binding="tns:LoginWSPortBinding"> <soap:address location="http://192.168.56.1:8080/AndroidLoginWS/LoginWebService"/> </port> </service> </definitions> 

Soy nuevo en Android y Creación de servicio web. He intentado muchas otras soluciones. Pero no parece funcionar.

Encontré el anser para la pregunta. He abierto el esquema xsd desde el wdsl. Estaba teniendo los parámetros como arg0 y arg1 solamente, aunque he dado la anotación @WebParam. Lo he cambiado en la solicitud, el parámetro se está pasando correctamente.

 final String LOGIN_SQL="SELECT * FROM UserDetails WHERE UserName=? and Password=?"; request.addProperty("name", user.UserName); request.addProperty("Password",user.Password); 

// intenta cambiar el nombre a UserName

  • Utilizar ChromeView en la aplicación para Android
  • Cómo habilitar la depuración remota / inspector de la aplicación Android de WebKit mediante WebView?
  • Android 4.1 webview javascript no funciona.
  • Cargando jQuery desde activos locales en Android para una página html remota
  • ¿Cómo maneja un servidor las solicitudes de servicio web de varios clientes?
  • Android Fatal señal 11 (SIGSEGV) en 0x00000040 (código = 1) Error
  • android webview Relacionados
  • ¿Cuál es la mejor manera de raspar este código HTML para una aplicación para Android?
  • Android WebView no sólo de vídeo audio
  • WebView deshacerse de doble toque zoom.
  • Emular archivos de hosts en Android no enraizado
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.