我一遍又一遍地讀到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
再次提供。我無法圍繞它思考。這些類甚至用於這些東西嗎?我在這裏問正確的問題嗎?歡迎任何指導!