Java 如何向Soap服务发送数据?
Java 如何向Soap服务发送数据?,java,android,soap,android-ksoap2,Java,Android,Soap,Android Ksoap2,Soap服务需要以下操作: <wsdl:operation name="UploadFile"> <soap:operation soapAction="http://abcdotcom/IDocUpload/UploadFile" style="document"/> <wsdl:input name="FileInfo"> <soap:header message="tns:FileInfo_Headers" part="Name" use="lit
Soap服务
需要以下操作:
<wsdl:operation name="UploadFile">
<soap:operation soapAction="http://abcdotcom/IDocUpload/UploadFile" style="document"/>
<wsdl:input name="FileInfo">
<soap:header message="tns:FileInfo_Headers" part="Name" use="literal"/>
<soap:header message="tns:FileInfo_Headers" part="Length" use="literal"/>
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output name="DownloadRequest">
<soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
但它只是给了我
null
响应。我希望至少出现错误。请提供帮助。android中的soap请求示例(方法:FetchUserDetails)
请提供您得到的错误?我只是得到一个空结果。完全没有响应。@Ali\u Waris如果您得到的响应为空,那么您确定您发送的是有效的请求吗?。你调试过你的代码吗?当我计算envelope.getResponse()时,它每次都显示null。你能指导我如何使用addProperty()来支持我上面共享的Soap服务所期望的输入类型吗。
request.addProperty("FileInfo", "123");
SoapObject request = new SoapObject("http://tempuri.org/", "FetchUserDetails");
request.addProperty("key", value);
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.setOutputSoapObject(request);
envelope.dotNet = true;
try {
HttpTransportSE androidHttpTransport = new HttpTransportSE(ServiceURL);
androidHttpTransport.call("http://tempuri.org/FetchUserDetails", envelope);
SoapObject response = (SoapObject) envelope.getResponse();
int count = response.getPropertyCount();
if (count > 0) {
//handel the response
SoapObject results = (SoapObject) response.getProperty(i);
}
}catch (Exception e) {
Log.e("service", e.getMessage());
}