我需要生成一个SoapObject。这是我的代码 -
SoapObject request = new SoapObject(namespace, method);
SoapObject r = new SoapObject(namespace, "request");
r.addProperty("email", email);
request.addSoapObject(r);
我的代码生成以下内容
<Info xmlns=NAMESPACE >
<request>
<email>id@gmail.com</email>
</request>
</Info>
但请求正文必须像这样
<con:Info>
<!--Optional:-->
<con:request>
<typ:email>id@gmail.com</typ:email>
</con:request>
</con:Info>
我该怎么做才能包含那个典型:在我的代码中等价?
答案 0 :(得分:1)
您要生成的代码缺少名称空间声明,它们可能位于树中的某个位置。
电子邮件的命名空间似乎与其余的命名空间不同。您的代码需要反映这一点以生成等效的XML。
P.S。你可以试试像
这样的东西PropertyInfo emailType = new PropertyInfo();
emailType.name = "email";
emailType.namespace = emailNamespace;
emailType.type = String.class;
r.addProperty(emailType, email);
kSOAP是为J2ME编写的,它不支持反射,并且它有一些复杂性可以解决这个问题。我不认为我真的可以在Android上推荐它: