Hi Christopher,

A zip of the module or a paste of the interceptor, mtom-policy.xml file, and
interceptor provider would be extremely helpful.

Re question #2 - is your question how do I apply this mtom policy to my
service? I think the two mechanisms we have right now are WSDL Policy
Attachments and creating an external policy. I'm working on a third where we
can embed it in an <endpoint>/<client> configuration.

Here's a small example of how to load an external policy file:

   <bean class="
org.apache.cxf.ws.policy.attachment.external.ExternalAttachmentProvider">
       <constructor-arg ref="cxf"/>
       <property name="location"
value="org/apache/cxf/systest/ws/policy/addr-external.xml"/>
   </bean>

And then the external file:

<attachments xmlns:wsp="http://www.w3.org/2006/07/ws-policy"; xmlns:wsa="
http://www.w3.org/2005/08/addressing";>
   <wsp:PolicyAttachment>
       <wsp:AppliesTo>
           <wsa:EndpointReference>
               <wsa:Address>http://localhost:9020/SoapContext/GreeterPort
</wsa:Address>
           </wsa:EndpointReference>
       </wsp:AppliesTo>
       <wsp:Policy>
           <wsam:Addressing xmlns:wsam="
http://www.w3.org/2007/01/addressing/metadata";>
               <wsp:Policy/>
           </wsam:Addressing>
       </wsp:Policy>
   </wsp:PolicyAttachment>
</attachments>

This is part of the policy system tests.  How are you configuring your
service right now? Via the API? Via Spring?
- Dan

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

A Quick Update:

I moved the bean configurations from the
META-INF/cxf/cxf-extension-mtom-policy.xml file to my service's own
Spring configuration file.  Now I can see that my MTOMAssertionBuilder,
MTOMPolicyInterceptorProvider, and MTOMPolicyInterceptors are at least
instantiated (which is further than I got before).

But, the handleMessage method on my MTOMPolicyInterceptor is never
called when I make a request to the service, so something still doesn't
seem to be registered right.

So two questions now:

1)  Why wasn't my META-INF/cxf/cxf-extension-mtom-policy.xml file never
loaded by the framework?

2)  How do I get my service to actually build those assertions and
intercept the messages?

Thanks,
Chris

-----Original Message-----
From: Christopher Moesel [mailto:[EMAIL PROTECTED]
Sent: Friday, April 20, 2007 2:40 PM
To: [email protected]
Subject: Questions While Implementing MTOM Policy

Hello,

I'm trying to implement a plugin for the MTOM Policy specification.
This is essentially a policy that states whether or not MTOM should be
used (or is optional).  I intend on contributing it back to CXF, so I
figure I'm OK sending this to the dev list. ;)

I've created a MTOMAssertionBuilder that uses PrimitiveAssertions, a
MTOMPolicyInterceptor (that at this point just prints out if it is
asserted), and a MTOMPolicyInterceptorProvider.

I've registered the MTOMAssertionBuilder and
MTOMPolicyInterceptorProvider in
META-INF/cxf/cxf-extension-mtom-policy.xml and created a corresponding
META-INF/cxf/cxf.extension file.  According to the documentation, this
is all that is needed to register them in CXF.

When I try my service (that has the ws-policy and ws-mtom-policy jars in
its classpath), none of my MTOM policy classes seem to be called.  Do I
need to do something else to register them with my service, or is having
the policy assertion in the port of my WSDL file enough?  It seems I
must be missing something important.

If it would be helpful, I can zip up the module and send it along.

Thanks!
Chris




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

Reply via email to