2012-04-04 10 views
1

をもたらす私はSudzCを使用してWSを呼び出すいコード生成:SOAPリクエストであるSOAPのWSにNSStringの引数を渡すことは、 "不正な処理命令のターゲット(" XML ")"

[service createPendingSalesOrders:self action:@selector(handler:) arg0: 
@"<?xml version='1.0'" 
" encoding='utf-8'?>" 
"<root>test</root>"]; 

を:

<?xml version="1.0" encoding="utf-8"?> 
<soapenv:Envelope 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
    xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 
    xmlns:com="http://com/"> 
     <soapenv:Body> 
      <com:createPendingSalesOrders> 
       <arg0>"<?xml version='1.0' encoding='utf-8'?><root>test</root>" 
       </arg0>   
      </com:createPendingSalesOrders> 
     </soapenv:Body> 
</soapenv:Envelope> 

私が受けています:私のWSから

[com.ctc.wstx.exc.WstxParsingException: Illegal processing instruction target ("xml"); xml (case insensitive) is reserved by the specs.

はGlassFishの上で実行されています。

WSは、同じPIを含むように見える他のXML文字列で動作します。あなたがXMLにXMLをラップすることを主張した場合の任意の洞察力のための

おかげで、 デーン

+0

これを見てください。また、 http://stackoverflow.com/questions/15448791/how-can-i-access-this-message-in-fault-sequence-in-wso2-esb – Faisal

答えて

0

は、CDATAセクションに内容を置くので、パーサは、それを文字列として処理します。