我已经为此苦苦挣扎了一天,但我无法正确格式化我的 SOAP 请求。这就是我的 Soap 请求的构建方式:
SoapObject request = new SoapObject(NAMESPACE, search);
SoapObject context = new SoapObject(NAMESPACE, "context");
request.addProperty("pi_csecurity_data", "security token ");
SoapObject mainclass = new SoapObject(NAMESPACE, "mainclass");
mainClass.addAttribute("adm_nr", "621");
mainClass.addAttribute("main_comp_code", "*");
context.addProperty("itmpMcomp", mainClass);
//also tried context.addSoapObject(mainclass); here
request.addSoapObject(context);
这是我的输出:
<v:Envelope xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns:d="http://www.w3.org/2001/XMLSchema" xmlns:c="http://schemas.xmlsoap.org/soap/encoding/" xmlns:v="http://schemas.xmlsoap.org/soap/envelope/">
<v:Header/>
<v:Body>
<n0:search id="o0" c:root="1" xmlns:n0="namespace">
<pi_csecurity_data i:type="d:string">security token</pi_csecurity_data>
<n0:context i:type="n0:context">
<n0:mainclass i:type="n0:mainclass" adm_nr="621" main_comp_code="*"/>
</n0:context>
</n0:search>
</v:Body>
正如您可能看到的,我缺少我的结束标记 <n0:主类>
有什么想法吗?:)
标签并不总是必须:
<tag>...</tag>
如果标签只有属性,就像你的情况一样,这个语法也是正确的
<tag />