ksoap连接web服务,没有android(使用kso​​ap)

时间:2011-03-27 18:15:21

标签: java-me sdk midlet ksoap2 ksoap

我正在做一个连接...带有web服务的sql server,带有j2me的web服务,但现在我正在做一个helloworld ...我可以,但现在比我想做一个“你好世界”+农布雷... 在Web服务中没有接收参数,这里是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;
    }

}

这是用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);

}


}

我得到它返回带有空格的“que onda”,因为我把它放在web服务中,但从来没有它返回“que onda”+ nombre ...它是j2me的应用程序不是为了 android,我注意到android它是洙......

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

但j2me的ksoap没有那些方法..“setName,setValue”; 我已经下载了这个库,但是我得到了一个丑陋的bug并且应用程序没有运行... 有了这个我看到参数被添加所以..

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

但这不起作用...... 它运行它没有任何错误,但Web服务永远不会收到参数...

谢谢STACKOVERFLOW的人 我的英语不是很抱歉

1 个答案:

答案 0 :(得分:0)

我解决了它,这是必要的写作

envelope.dotNet=true;