conexão ksoap com serviço web, sem android (usando ksoap)
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
Solução
eu resolvi isso, é necessário escrever
envelope.dotNet=true;