Hi Dan

> on the Client side, its all or nothing.

I'm not sure what you mean. If the service's WSDL has an MTOM assertion 
attached, then :
* if the assertion is not optional then the client-side interceptor knows it 
has to do MTOM, because this is what the service requires
* if the assertion is optional then this interceptor can do some reasoning on 
whether to do MTOM or not...
You're saying that it's not possible to do it at the moment, which is not a big 
problem per se, it's just limits the scope of what the client can do. In this 
case, one option is to configuire the client side explicitly to do MTOM if the 
service has the optional MTOM assertion. 
But this option (configuring the client) is not really required because this 
will make "MTOM always". 
On the client side one still can avoid the configuration (assuming the client 
runtime is policy aware) by just updating the MTOM handler to always do MTOM 
when it sees the service's MTOM assertion, whether it's optional or not.
I'm also thinking that perhaps a custom version of the DataHandlers or JAXB 
marchallers can be provided to let the MTOM handler to do some reasoning when 
seeing am optional MTOM assertion, what do you reckon ?

Cheers, Sergey
  ----- Original Message ----- 
  From: Dan Diephouse 
  To: [email protected] 
  Cc: Sergey Beryozkin 
  Sent: Monday, April 23, 2007 3:54 PM
  Subject: Re: Questions While Implementing MTOM Policy





  On 4/23/07, Sergey Beryozkin <[EMAIL PROTECTED]> wrote:
    By the way, the issue Chris is trying to solve (finding out if the MTOM 
policy expression was set as optional or not) is the real issue for the client 
runtime.
    MTOM interceptor on the client side can check if it's required, if yes, 
then use MTOM, if not, then consider whether to use it or not anyway by 
checking the size of the outgoing message against the default or preconfigured 
value, etc... This is will be a no client configuration story (for MTOM)... 

  Its not possible to check the size of the outgoing message or even just the 
attachment. The DataHandler API doesn't expose it (and nor does the JAXB 
AttachmentMarhsaller APIs), so on the Client side, its all or nothing. 


  - Dan



  -- 
  Dan Diephouse
  Envoi Solutions
  http://envoisolutions.com | http://netzooid.com/blog 

Reply via email to