Yii SOAP Web Service返回XML

| 我正在尝试使用PHP和Yii框架编写Web服务API。这意味着我将使用SOAP Web服务,因为Yii不直接支持RESTful Web服务。 我想以字符串形式返回XML格式的结果(这可能很愚蠢,但是我正在使用相当繁琐的数据类型,这会使尝试使用它们的Web服务客户端的生活更加困难)。我面临的问题是我返回的XML包含标签,这导致Web服务客户端无法正确读取字符串。 例如,我可以在我的一个Web服务中返回此字符串: \“
hello
\” 但是不是这个字符串: \“
<hello>
\” (客户端读取一个空字符串) 那么,SOAP Web服务是否有一种方法可以将XML文档作为字符串返回(通常,或者特别是使用Yii)?     
已邀请:
这实际上应该由框架完成(尽管不了解Yii),但是由于它似乎无法自动为您工作,因此请尝试先转义数据:
$data_to_send = htmlspecialchars($data_to_send);
如果Yii不对数据进行编码,则当从其SOAP库中获取数据时,您的客户端将看到正确的输出(原始XML字符串)。但是,如果Yii确实对数据进行编码,那么它将得到双重编码,这可能不是您想要的,但是如果确实对数据进行编码,则您首先应该不会遇到这个问题...     
如果数据包含的字符也是XML标记,则可以使用CDATA选项。
<value><![CDATA[<hello>]]></value>
    
请不要用肥皂。这是有史以来最糟糕的技术之一(请参阅SO上的众多文章)。 Yii现在确实支持REST(从1.17开始完全支持)。只需使用JSON格式。您需要从客户端删除还是插入?     

要回复问题请先登录注册