保留字错误XML

时间:2015-02-11 06:39:11

标签: java xml web-services soap nusoap

我有这个SOAP请求只是检查帐户的余额。

<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" 
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" 
xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" 
xmlns:tns="urn:someurn">
<SOAP-ENV:Body>
<Execute xmlns="">
<sessionId xmlns="">SomeSessionID</sessionId>
<username xmlns="">SomeUserName</username>
<password xmlns="">SomePassword</password>
<command xmlns="">CommandName</command>
<data xmlns=""><?xml version="1.0"?><meta><accountNo></accountNo></meta>   
</data>
</Execute>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

每当我发出请求时会发生此错误,我已经阅读了一些有关此问题的堆栈问题,我需要清除我已经完成的空白,我还尝试使用html实体来处理问号仍无济于事。

错误是:在第14行解析SOAP有效内容时出现XML错误:保留的XML名称是数据标记。

任何人都可以帮助我吗?另外,我使用Java向服务器发出请求。

1 个答案:

答案 0 :(得分:2)

第14行

<data xmlns=""><?xml version="1.0"?><meta><accountNo></accountNo></meta>   

除了作为第一行之外,您不能在XML中的任何位置拥有xml标头(<?xml...?>标记)。您必须使用实体对<data>...</data>内的所有内容进行编码,如:

<data xmlns="">&lt;?xml version="1.0"?&gt;&lt;meta&gt; ...