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