2012-05-02 95 views
1

我在Zend Framework中有一個soap服務器,並且在請求命中soap_server之前添加了一個過濾器來解析頭並允許wsse。這工作正常。PHP肥皂必須瞭解

昨天我收到了一個帶有標頭中Security元素屬性MustUnderstand = 1的調用。 soap_server然後拋出:頭不明白。

是否有可能做一個解決方案,讓zend_soap_server忽略標頭上的mustunderstand = 1?

回答

4

只是實現一個稱爲屬性的函數,如果沒有必要,它裏面什麼也不做。

不使用「迴歸」裏面的語句,因爲它可以在不處理返回郵件的正文中

<SOAP-ENV:Header> 
    <wsa5:To SOAP-ENV:mustUnderstand="true">http://www.xxx.yyy.zzz/</wsa5:To> 
    <wsa5:Action SOAP-ENV:mustUnderstand="true">someData</wsa5:Action> 
</SOAP-ENV:Header> 

您必須實現這樣一個類:

Class MySoapServer{ 
    private $bar; 
    private $foo; 

    public function To($data) 
    { 
     $this->bar = $data; 
    } 

    public function Action($data) 
    { 
     //do Nothing! 
    } 

    public function Method1($message) 
    { 
     //.... 
     return $returnedValues; 
    } 

}