我一直在研究一個項目(我將保留具體的詳細信息,包括隨機數據),這涉及到我們的系統(PHP 5.3.x +)與API的集成(他們提供了一個SDK)的一家大公司。他們提供了一個WSDL並聲稱我們需要匹配他們的方法,他們提供了輸出(Soap服務器生成的XML)外觀的示例。Zend Soap服務器/ WSDL
現在,一切都按預期工作。當我從SoapUI(我用來測試的應用程序)發送一個XML請求時,它的所有處理過程都是正確的,但是XML輸出與他們的示例並不緊密匹配,我們相信他們說我們必須接近他們的示例。
基本上,我們創建了我們用一個服務名初始化一個不可知類,並將其初始化成其經由以下使用非類不可知:
/**
* The following is used to process Soap Server based on config and any optional settings.
*
* @param string $className
* @param array $options
* @param object $config
* @return Zend_Soap_Server
*/
public static function init($className, Array $options = null, $config = null)
{
// Used to define the class and return object.
$soap_server = new Zend_Soap_Server(null, $options);
$soap_server->setClass($className, null, (isset($config) ? $config : null));
$soap_server->handle();
exit;
}
本身位於輸出響應中的問題。你們如何建議我們構建XML輸出,如果他們對每件事都非常具體?
1.)我們的方法之一是moneyTransferRequest。當我爲此發送XML時,它確實找到了方法並對其進行處理。但是,他們希望它在響應中顯示方法名稱爲moneyTransferResponse,但它會輸出moneyTransferRequestResponse。
2.)我們的輸出(對於作爲對象發回的變量等)有多個變量,例如我們會說$ money。此字段將返回爲:
<money xsi:type="xsd:string">10.0</money>
他們希望它是:
<ns1:money xsi:type="xsd:string">10.0</money>
在返回
。
我感謝任何幫助和輸入的主題。
您好,非常感謝您的回覆。我終於看完了。我們認爲,除了制定與非標準指導方針相匹配的迴應外,我們還可以做的不多。無論如何,這是非常有用的,併爲我澄清了一些事情。 – Robbie