我对使用KSOAP2感到非常无聊:我正在寻找解决方案1天而且找不到任何东西......
我有一个简单的PHP Web服务,我从教程中的示例中获取:GetSumOfTwoInts。它需要两个Int in参数并返回它们的总和。
我可以用PHP和Java调用这个web服务,它运行良好,但是当我用KSAOP2调用它时,我总是有同样的错误:
SoapFault - faultcode: 'SOAP-ENV:Server' faultstring: 'Procedure 'GetSumOfTwoInts' not present' faultactor: 'null' detail: null
在这里,我的代码:
public void onCreate( Bundle icicle )
{
super.onCreate(icicle);
TextView tv = new TextView(this);
setContentView(tv);
SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
PropertyInfo pi = new PropertyInfo();
pi.setName("Operand1");
pi.setValue(40);
pi.setType(int.class);
request.addProperty(pi);
PropertyInfo pi2 = new PropertyInfo();
pi2.setName("Operand2");
pi2.setValue(6);
pi2.setType(int.class);
request.addProperty(pi2);
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.setOutputSoapObject(request);
HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);
try
{
androidHttpTransport.call(SOAP_ACTION, envelope);
String result = envelope.bodyIn.toString();
Toast.makeText(this, result, 10000).show();
Log.v("TEST", result);
}
catch(Exception e)
{
e.printStackTrace();
Log.v("TEST1", e.toString());
}
}
此行发生错误:“androidHttpTransport.call(SOAP_ACTION,envelope);”
这很奇怪,因为我做了其他的尝试,使用不接受参数的web服务并且它运行良好....当我需要参数时它不起作用....
我需要你的帮助! :)
答案 0 :(得分:0)
pi.setType(int.class);
尝试使用
pi.setType(Integer.class);