我在我的应用程序中使用SOAP服务。我收到错误消息
SoapFault - faultcode: 'soap:Client' faultstring: 'System.Web.Services.Protocols.SoapException: Server was unable to read request. ---> System.InvalidOperationException: There is an error in XML document (1, 301). ---> System.InvalidOperationException: The specified type was not recognized: name='authentication',
我的SOAP请求结构是:
<authentication>
<LoginID>string</LoginID>
<Password>string</Password>
</authentication>
<Id>int</Id>
<Str>string</Str>
我的代码是:
SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
PropertyInfo usrid =new PropertyInfo();
usrid.setName("LoginID");
usrid.setValue(userid);
usrid.setType(String.class);
request.addProperty(usrid);
//
PropertyInfo pass =new PropertyInfo();
pass.setName("Password");
pass.setValue(password);
pass.setType(String.class);
request.addProperty(pass);
PropertyInfo rote =new PropertyInfo();
rote.setName("Id");
rote.setValue(4114616);
rote.setType(int.class);
request.addProperty(rote);
//
PropertyInfo dte =new PropertyInfo();
dte.setName("Str");
dte.setValue(date);
dte.setType(String.class);
request.addProperty(dte);
androidHttpTransport.call(SOAP_ACTION,envelope);
// SoapPrimitive response = (SoapPrimitive)envelope.getResponse();
System.out.println("subbu");
Object response=(Object)envelope.getResponse();---->I think i am getting error here.
任何人都可以帮助我做错了。
答案 0 :(得分:1)
查看以下链接:
authentication
是一个复杂的对象,但您已添加了所有属性。尝试这样的事情:
SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
SoapObject authenticate = new SoapObject(NAMESPACE, "authenticate");
authenticate.addProperty("LoginID", "login");
authenticate.addProperty("Password", "password");
request.addSoapObject(authenticate);
request.addProperty("Id", "123");
request.addProperty("Str", "string");