首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从PHP SoapServer返回JSON对象

从PHP SoapServer返回JSON对象
EN

Stack Overflow用户
提问于 2012-12-15 09:00:35
回答 2查看 1.8K关注 0票数 0

如何强制我的PHP将SoapServer对象作为响应而不是XML文档发送?

谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-12-15 09:03:32

这不是SOAP,所以不是。它可以将jsonstring合并到某个xml节点中,仅此而已。您可能只需要一个服务于jsonREST服务器。

你可以让它变得更糟糕,让它不再是SOAP,而是一些奇怪的混合体:

代码语言:javascript
复制
<?php
class ThisIsNotASoapServer extends SoapServer {

}
function test(){
        //should have a return
        //return range(1,9);
        //but totally breaks it by:
        echo json_encode(range(1,9));
        //the exit here is needed
        exit;
}
$server = new ThisIsNotASoapServer(null, array('uri' => 'http://test-uri/','soap_version' => 1));
$server->addFunction("test");
$server->handle('<?xml version="1.0"?>
<SOAP-ENV:Envelope
   xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
   SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
    <SOAP-ENV:Body>
        <m:Test xmlns:m="Some-URI"/>
    </SOAP-ENV:Body>
 </SOAP-ENV:Envelope>');
?>

..。因此,从技术上讲,这是可能的,但我怀疑没有一个客户端理解这一点。

票数 2
EN

Stack Overflow用户

发布于 2012-12-15 09:06:06

看看http://www.sinatrarb.com创建restful风格的web服务来返回json对象是非常容易的。

这取决于你的需求-- SOAP是一个xml请求,这并不意味着返回的格式也需要是SOAP (XML),你可以很容易地回发一个JSON字符串。

也许如果你能提供更多的信息,我们可以提供更多的帮助?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13888322

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档