2009-04-08 31 views
0

我試圖使用web服務只允許SOAP請求套裝屬性

據我知道我必須創建一個看起來像這樣

<?xml version="1.0" encoding="utf-8"?> 
<SessionCreateRQ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> 
    <POS> 
    <Source PseudoCityCode="SECRET_CODE" /> 
    </POS> 
</SessionCreateRQ> 

但是請求同時加入了參數SessionCreateRQ方法,我不知道如何添加一個名爲源的POS參數,並且對如何設置屬性爲參數

我嘗試在PHP下面不知道

$body = array(
     'POS' => array('source' => 'PseudoCityCode:SECRET_CODE')); 

    try 
    { 
     $result = $c->SessionCreateRQ($body); 
    } 

但沒有運氣,有沒有人有一個線索我應該如何構建這個調用適當?

謝謝!

+0

它不直接回答你問的問題,但PHP從built-in functions for handling SOAP,無論從服務器和客戶端的角度來看。你應該能夠在SoapClient函數中找到你需要的。 – 2009-04-08 02:08:32

回答

1

首先,您需要此服務的WSDL定義(聯機或本地文件)。任何不錯的SOAP服務爲用戶提供WSDL。

其次,您需要將WSDL服務定義轉換爲PHP代碼。嘗試wsdl2php發電機。它的類生成文件,調用Web服務。

你的榜樣將大致如下:

require_once 'GeneratedTypes.php'; 
$client = new SOAPService(); 
$res = $client->SessionCreateRQ(SECRET_CODE); 

附: wsdl2php不理想,但它工作:)