JAX-WS Metro : SOAP capturing on client side

ProfileService profileServicePort = ss.getProfileServicePort();
    BindingProvider bp = (BindingProvider)profileServicePort;
    List handlerChain = bp.getBinding().getHandlerChain();
    if ( handlerChain == null )
    {
      handlerChain = new ArrayList();
    }
    handlerChain.add( handler );//1
    bp.getBinding().setHandlerChain( handlerChain );//2

Note: //2 has to come before //1. Any handlers added after a call to setHandlerChain will be ingored, unless you call setHandlerChain again. Bad design I would say.
Source: http://blogs.sun.com/binublog/entry/jax_ws_capturing_soap_messages