2012-01-24 5 views
1

jax-ws webserviceのhttp圧縮を有効にしたい。私は、http-headersを変更できるカスタムハンドラチェーンでそれをやらなければならないことを知りました。JAX-WS:サーバー側のハンドラチェーンをコードで定義し、外部のXMLでは定義しない

すべてのチュートリアルハンドラチェーンの設定xml-fileを指しているアノテーション@HandlerChainを参照していますが、私の問題は私のwebserviceができるだけ軽量でなければならないことです。したがって、外部のxmlファイル。

私は次のことを試みたが、成功しませんでした:

 final Endpoint ep = Endpoint.publish("http://localhost:8878/mywebservice", 
       new WebserviceImpl()); 
     final Binding binding = ep.getBinding(); 
     final List<Handler> handlerChain = binding.getHandlerChain(); 
     handlerChain.add(new MySuperbSOAPHandler()); 
     binding.setHandlerChain(handlerChain); 

これを行う方法を誰もが知っているのですか?それは可能ですか?

答えて

5

サービスが既に公開されているときにハンドラチェーンを変更できるようには見えません。

実際の使用例が上記のとおりであれば、単にcreate()ingとpublish()するだけで簡単に修正できます。

+0

ありがとうございます。 – zersaegen

+2

は、公開後にハンドラを追加すると、 'getBinding()。getHandlerChain()' List *は新しいHandlerを含みますが、まだ使用されていないという事実はさらに紛らわしいものです。 – Yuri

関連する問題