cxf-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Dan Diephouse" <...@envoisolutions.com>
Subject Re: Questions While Implementing MTOM Policy
Date Fri, 20 Apr 2007 19:15:12 GMT
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 <Christopher_Moesel@avid.com> 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:Christopher_Moesel@avid.com]
> Sent: Friday, April 20, 2007 2:40 PM
> To: cxf-dev@incubator.apache.org
> 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

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message