gpt4 book ai didi

web-services - "the method is not applicable for the arguments"构建黑莓应用程序时

转载 作者:行者123 更新时间:2023-12-04 06:09:38 25 4
gpt4 key购买 nike

我正在开发一个示例应用程序来调用 .Net Web 服务。我已将 ksoap2-j2me-core-prev-2.1.2.jar 添加到 Eclipse 的构建路径中。

我通过 addProperty 传递两个值:“number1”和 10 作为整数,还有“number2”和 20。这会导致编译器错误:

The method addProperty(String, Object) in the type SoapObject is not applicable for the arguments (String, int)



如何解决错误以及如何将一个字符串和一个 int 值传递给 addProperty?我在 Android 中以相同的方式完成了此操作,并且在那里运行良好。
    String serviceUrl = "URL to webservice";
String serviceNameSpace = "namespace of web service";
String soapAction = "URL to method name";
String methodName = "Name of method";
SoapObject rpc = new SoapObject(serviceNameSpace, methodName);

//compiler error here
rpc.addProperty("number1", 10);
rpc.addProperty("number2", 20);

SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.bodyOut = rpc;
envelope.dotNet = true;//IF you are accessing .net based web service this should be true
envelope.encodingStyle = SoapSerializationEnvelope.ENC;
HttpTransport ht = new HttpTransport(serviceUrl);
ht.debug = true;
ht.setXmlVersionTag("");
String result = null;
try
{
ht.call(soapAction, envelope);
result = (String) (envelope.getResult());
}
catch(org.xmlpull.v1.XmlPullParserException ex2){
}
catch(Exception ex){
String bah = ex.toString();
}
return result;

最佳答案

你需要知道黑莓开发是用Java-ME完成的,而Android开发是用Java-SE完成的。在 Java 中,原语不是对象。原语是像 double、int、float、char 这样的值。

即使在 Android 中,您也无法在需要对象的地方传递原语。您的代码在 Android 中工作的原因是因为添加到 Java-SE 的一项功能在 Java-ME 中没有,称为自动装箱。

您可以通过包装它们来使原语像对象一样。这就是 Double、Integer、Float 和 Character 类所做的。在 Java SE 中,当编译器看到作为 Object 参数传递的原语时,它会自动转换为包装或“装箱”版本。 Java-ME 中不存在此功能,因此您必须自己进行装箱。在这种情况下,这意味着:

rpc.addProperty("number1", new Integer(10));
rpc.addProperty("number2", new Integer(20));

关于web-services - "the method is not applicable for the arguments"构建黑莓应用程序时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7927699/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com