2

Zend Framework に SOAP サーバーがあり、リクエストが soap_server に到達する前にフィルターを追加して、ヘッダーを解析し、wsse を許可しました。これはうまくいきます。

昨日、ヘッダーの Security 要素に属性 MustUnderstand=1 を持つ呼び出しを受け取りました。その後、soap_server は次のメッセージをスローします。

zend_soap_server にヘッダーの mustunderstand=1 を無視させる回避策はありますか?

4

1 に答える 1

5

Attribute として呼び出される関数を実装するだけで、必要でない場合はその中で何もしません。

本文を処理せずにメッセージを返す可能性があるため、その中に「return」ステートメントを使用しないでください

<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;
    }

}
于 2012-11-06T18:25:44.447 に答える