Hi Chris

By the way, I think what you've described makes a perfect sense and would work nicely in combination with the MTOM assertion the service might use. The MTOM assertion on the service would primarily serve as a hint to a client that MTOM capability is there at the service side,
but the client would still need to know if it wants MTOM or not.
If the client is a WS-Policy aware then, upon detecting that MTOM is supported by the service, can automatically engage the algorithm you described (check for the size of the outgoing message and if it exceeds a certain limit then do MTOM serialization), thus avoiding the need for any related client-side config altogether (except for the size of the message to check, but default might do well in many cases).

Cheers, Sergey

----- Original Message ----- From: "Christopher Moesel" <[EMAIL PROTECTED]>
To: <cxf-user@incubator.apache.org>
Sent: Wednesday, April 18, 2007 4:38 PM
Subject: RE: MTOM "By Request"


Wow.  You guys are good!  Thanks for educating me!  That's a far better
solution than anything I had proposed. =)

-Chris

-----Original Message-----
From: Sergey Beryozkin [mailto:[EMAIL PROTECTED]
Sent: Wednesday, April 18, 2007 11:38 AM
To: Sergey Beryozkin; cxf-user@incubator.apache.org
Subject: Re: MTOM "By Request"

One clarification :

 I don't think there's a way to detect whether or not MTOM should be
used on the client side of things.

Given the assertion below (which is advertised by a service in its WSDL)
the WS-Policy aware client can inspect the service's policy
assertions and find out that it may use MTOM if it wishes
to...Furthermore, the policy-aware client (NET is most likely able to do

it) can decide through the intersection if it wants to talk to this
service depending on whether it supports MTOM or not

Cheers, Sergey

----- Original Message ----- From: "Sergey Beryozkin" <[EMAIL PROTECTED]>
To: <cxf-user@incubator.apache.org>
Sent: Wednesday, April 18, 2007 4:33 PM
Subject: Re: MTOM "By Request"


Hi

This is exactly what an MTOM policy assertion is for, please see
Optional assertions in the policy primer at

http://www.w3.org/TR/2007/WD-ws-policy-primer-20070330/
and the MTOM assertion spec :

http://schemas.xmlsoap.org/ws/2004/09/policy/optimizedmimeserialization/

The service which wishes to support both MTOM-aware and MTOM-unaware
clients will just do :
in <wsdl:service> or wsdl:service/wsdl:port :

<Policy>
  <mtom:optimizedMimeSerialization optional="true"/>
</Policy>

The server then determines whether to use the MIME processing or not
depending on the presence of the a related mime header
Cheers, Sergey

----- Original Message ----- From: "Dan Diephouse" <[EMAIL PROTECTED]>
To: <cxf-user@incubator.apache.org>
Sent: Wednesday, April 18, 2007 4:21 PM
Subject: Re: MTOM "By Request"


How would this work from the Client side? Would it just be always or
never
then? I don't think there's a way to detect whether or not MTOM
should be
used on the client side of things.

BTW - I fixed your bugs in SVN. We haven't published a new snapshot
quite
yet though. That should happen later today I would think.

- Dan

On 4/18/07, Christopher Moesel <[EMAIL PROTECTED]> wrote:

According to the link below, the .NET 2.0 w/ WSE 3.0 server supports
a
feature like this:

<quote from link>
Note: There are three server MTOM modes: "optional", "always", and
"never".

Always means that the service "always" requires MTOM messages from
the
client and will "always" return response messages using MTOM.

Never means that MTOM will never be used-and the service will reject
MTOM requests.

Optional (the default) means the service will respond in kind to the
type of message sent by the client. So if the client sends an MTOM
request, it will respond with an MTOM response.
</quote from link>


http://www.agilefactor.com/agiledamon/2006/01/mtom-and-microsoft-web-ser
vice.html

-Chris

-----Original Message-----
From: Christopher Moesel [mailto:[EMAIL PROTECTED]
Sent: Wednesday, April 18, 2007 10:35 AM
To: cxf-user@incubator.apache.org
Subject: MTOM "By Request"

I don't know if this goes against any specs or is too difficult to
implement, but it seems to me that this would be a neat feature:

MTOM By Request:
- If a request comes in using MTOM, then respond using MTOM.
- If a request comes in using text/xml, then respond with test/xml.

This way, a single deployed service can support both MTOM-enabled
and
non-MTOM-enabled clients.

Any thoughts?

-Chris




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


Reply via email to