我正在开发一个需要使用第三方SOAP Web服务的iPhone应用程序(我知道,SOAP不是首选,它正是我所坚持的)。基本上用户输入的数据被发送到Web服务,我发现某些字符不会发送并导致下面的错误消息。到目前为止导致这个问题的一个字符是<
。没有角色,它可以正常工作。我希望能够发送这样的角色。我发送带有UTF8StringEncoding的字符串。也许有些东西我可以修改以允许这样的角色?
[req setHTTPBody: [soapMsg dataUsingEncoding:NSUTF8StringEncoding]];
错误:
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>Sender</faultcode><faultstring>Invalid XML</faultstring></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
答案 0 :(得分:0)
<
的用户输入,我只需将其发送到:
[NSString stringWithFormat:@"<![CDATA[\n%@\n]]>", myStringWithIllegalChar]
使用CDATA标记允许字符串作为soap消息传递。