XML ドキュメントの代わりに JSON オブジェクトを応答として送信するように PHP SoapServer に強制するにはどうすればよいですか?
ありがとう。
XML ドキュメントの代わりに JSON オブジェクトを応答として送信するように PHP SoapServer に強制するにはどうすればよいですか?
ありがとう。
そうではないSOAP
ので、違います。いくつかのxmlノードにjsonstringを組み込むことができます。それだけです。REST
を提供するサーバーだけが必要な場合がありますjson
。
あなたはそれをろくでなしにすることができます、それを定義上SOAPではなく、いくつかの奇妙なハイブリッドにします:
<?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>');
?>
...したがって、技術的にはこれは可能ですが、これを理解しているクライアントは1人もいないと思います。
http://www.sinatrarb.comを見てください。jsonオブジェクトを返すためのRESTfulWebサービスを作成するのは非常に簡単です。
要件によって異なります-SOAPはxmlリクエストであり、リターンの形式もSOAP(XML)である必要があるという意味ではなく、JSON文字列を簡単にポストバックできます。
たぶん、あなたがより多くの情報を提供することができれば、私たちはより多くを助けることができますか?