我正在尝试使用php和yii框架编写web服务api。这意味着我将使用soap web服务,因为yii不直接支持restfulweb服务。
我想以XML格式返回结果,作为字符串(这可能很愚蠢,但我使用的是相当麻烦的数据类型,这会使试图使用它们的Web服务客户机的工作更加困难)。我面临的问题是,我返回的xml包含标记,这导致web服务客户端无法正确读取字符串。
例如,我可以在一个Web服务中返回此字符串:
“hello
”
但不是这个字符串:
“<hello>
”
(客户端读取空字符串)
那么,soap web服务是否有方法将xml文档返回为字符串(一般来说,或者特别使用yii)?
最佳答案
这确实应该由框架来完成(虽然不知道yii),但是由于它似乎不能自动为您工作,请先尝试转义数据:
$data_to_send = htmlspecialchars($data_to_send);
如果yii没有对数据进行编码,那么当从soap库获取数据时,您的客户机将看到正确的输出(原始xml字符串)。但是,如果yii对数据进行了编码,它将得到双重编码,这可能不是您想要的,但是如果它对数据进行了编码,您首先不应该有这个问题……
关于php - Yii SOAP Web服务返回XML,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5678228/