我一遍又一遍地读到http://php.net/manual/en/book.soap.php。我不明白我是否应该使用SoapClient的SoapServer。看来我的应用程序应该是服务器。这次尝试和错误对我来说并不奏效。用PHP接收SOAP进程
情况:程序会将每隔这么多分钟的数据发送到我的应用程序的URL。我知道它在我做echo file_get_contents('php://input')
时收到数据,这似乎很愚蠢,开始用simplexml_load_string()
解析这个,或者其他任何东西(不是我管理的)。
<?xml version="1.0" encoding="ISO-8859-1"?><SOAP-ENV:Envelope
....
<SOAP-ENV:Body>
...
<SOAPSDK1:PostData xmlns:SOAPSDK1="http://tempuri.org/message/"> <tcXML>
<?xml version="1.0" encoding="ISO-8859-1"?><shop
我认为这应该是足够的代码来理解这个概念。它是<tcXML>
之后的部分,我想将其加载到PHP对象中。
以从PHP的文档的例子:
function test($x)
{
return $x;
}
$server = new SoapServer(null, array('uri' => "http://test-uri/"));
$server->addFunction("test");
$server->handle();
我不明白URI我需要提供,因为我刚刚收到的数据?
然后我想:那我需要SoapClient类外,像这样:
$client = new SoapClient(null, array('location' => "http://localhost/soap.php",
'uri' => "http://test-uri/",
'style' => SOAP_DOCUMENT,
'use' => SOAP_LITERAL));
在这里,我需要一些uri
或location
再次提供。我无法围绕它思考。这些类甚至用于这些东西吗?我在这里问正确的问题吗?欢迎任何指导!