Pregunta

Bueno, estoy haciendo una conexión ... SQL Server con servicio web, servicio web con J2ME, pero ahora estoy haciendo un Helloworld ... lo podría, pero ahora que quiero hacer un "World Hello" + Nombre ... El parámetro no se recibe en el servicio web, aquí el servicio web

[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
// Para permitir que se llame a este servicio web desde un script, usando ASP.NET AJAX, quite la marca de comentario de la línea siguiente. 
// [System.Web.Script.Services.ScriptService]
public class Service : System.Web.Services.WebService
{

    public Service () {


    }

    [WebMethod]
    public string HelloWorld(String nombre)
    {
        return "Que onda " + nombre;
    }

}

y este es el código para llamarlo con ksoap ...

String nombremetodo="HelloWorld";
String url="http://localhost:49175/WebSite1/Service.asmx";
String namespace="http://tempuri.org/";
String SOAP_ACTION=namespace+nombremetodo;

public void traer()
{
SoapObject busqueda =new SoapObject(namespace,nombremetodo);
HttpTransport transportacion = new HttpTransport(url);
busqueda.addProperty(new String("nombre"),new String("Angel"));
System.out.println("parametro agregado");

//busqueda.addProperty(PropertyInfo.OBJECT_TYPE, "Angel");

SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);

transportacion.debug=true;

envelope.bodyOut=busqueda;
System.out.println("todo ok");
try{
    System.out.println("comenzando transportacion");

transportacion.call(SOAP_ACTION, envelope);
System.out.println("transportacion ok");

respuesta = envelope.getResponse().toString();
System.out.println("respuesta ok");

}
catch(Exception e)
{
texto.setString("fallo");
System.out.println("falla en el try");

System.out.println(e);

}


}

Recibo que vuelva "Que Onda" con un espacio, porque así lo puse en un servicio web, pero nunca devuelve "Que Onda" + Nombre ... Es una aplicación para J2ME no por Android, veo para Android, es SOO ...

PropertyInfo p1 = new PropertyInfo();
p1.setName("nombre");
p11.setValue("Angel");
busqueda.addProperty(p1);

Pero KSOAP para J2ME no tiene esos métodos ... "SetName, SetValue"; Tengo descargas de esta biblioteca, pero obtengo un error feo y la aplicación no se ejecuta ... Con esto veo el parámetro se agrega así ..

 busqueda.addProperty("nombre","Angel");

Pero esto no funciona ... Se ejecuta no tiene ningún error, pero el servicio web nunca recibe el parámetro ...

GRACIAS PERSONAS DE STACKOVERFLOW Mi inglés no está muy bien lo siento

¿Fue útil?

Solución

Lo resolví, es necesario escribir

envelope.dotNet=true;

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top