2014-02-26 49 views
0

我一直在为此摔跤一整天,并且无法正确地格式化我的SOAP请求。这是我的SOAP请求是如何建立起来的:SOAP请求中的意外XML输出

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 :mainclass>

任何想法的人? :)

+0

没有你不是。标签''被认为是关闭的。一个标签''被认为仍然打开。 – cosmincalistru

回答

0

的标签并不总是必须是:

<tag>...</tag> 

如果标签只有在你的属性的情况下像这样的语法也是正确的

<tag />