Pergunta

bem, estou fazendo uma conexão...sql server com web service, web service com j2me, mas agora estou fazendo um helloworld...eu poderia, mas agora quero fazer um "hello world" +nombre...parâmetro não é recebido no serviço web, aqui o serviço 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;
    }

}

e este é o código para chamá-lo com 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);

}


}

entendo que retorna "que onda " com um espaço, pois assim coloquei no web service, mas nunca retorna "que onda "+nombre...É um aplicativo para J2Me não para Android, eu assisto a Android é tão ...

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

mas o ksoap para j2me não possui esses métodos."setNome, setValor";baixei esta biblioteca, mas recebo um bug feio e o aplicativo não funciona ...com isso vejo que o parâmetro foi adicionado então ..

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

mas isso não funciona...ele roda, não tem nenhum bug, mas o serviço web nunca recebe o parâmetro ...

Obrigado pessoas de Stackoverflow meu inglês não está muito bem, desculpe

Foi útil?

Solução

eu resolvi isso, é necessário escrever

envelope.dotNet=true;
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top