Java (web service SOAP) - Comment puis-je ajouter un SAVON gestionnaire sur le côté client et activer MTOM correct?

Java - JDK 1.6.0.7 - WSGEN -version: JAX-WS RI 2.2.3-b01-


J'ai le problème suivant:

SOAPBinding binding = (SOAPBinding)((BindingProvider)port).getBinding();
binding.setMTOMEnabled(true);

List<Handler> handlerChain = new ArrayList<Handler>();
handlerChain.addAll(binding.getHandlerChain());
handlerChain.add(new MyHandlerSecurity("admin", "admin"));
binding.setHandlerChain(handlerChain);

Avec ce code, le SoapHeader est correct, mais la pièce jointe est toujours un inline base64 texte.

//List<Handler> handlerChain = new ArrayList<Handler>();
//handlerChain.addAll(binding.getHandlerChain());
//handlerChain.add(new MyHandlerSecurity("admin", "admin"));
//binding.setHandlerChain(handlerChain);

Quand handlerChain est commenté, vous allez voir la pièce jointe dans un xop de référence, mais il n'y a pas de SoapHeader et ainsi, le client n'est pas authentifié...

Comment puis-je ajouter un gestionnaire sur le côté client et activer MTOM correct?

OriginalL'auteur user2017 | 2012-09-17