我正在使用ksoap2 for android,我正在发送SOAP请求。我在谷歌搜索了一整天,无法找到我的问题的解决方案。第一个问题是i:type,我的服务为i:type的请求返回了错误,所以我发现这可以用
修复SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER10);
而不是
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
并修复了i:type问题。现在生成的请求不包含i:type,如果我使用SOAP UI发送它,它工作正常,但现在我得到 NullPointerException
在这一行
httpTransport.call(DEFAULT_SOAP_ACTION,信封);
任何人都可以帮我解决这个问题吗?如果你需要我的代码,我可以发布它。我也尝试使用不同版本的ksoap .jar文件,但没有帮助。
答案 0 :(得分:0)
也许有人需要这个。
我通过显式设置类型解决了这个问题(对于每个PropertyInfo,都有.setType函数接收类型类String.class等)并使用
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
并使用它从soap请求中删除i:type。希望它会帮助别人。