Hi, I think policy attachments should help in your case: https://www.w3.org/TR/ws-policy-attach/
Take a look in CXF test: https://github.com/apache/cxf/blob/master/systests/ws-specs/src/test/java/org/apache/cxf/systest/ws/policy/AddressingPolicyExternalAttachmentWsdl11Test.java Regards, Andrei. > -----Original Message----- > From: [email protected] [mailto:[email protected]] On Behalf Of > Decker > Sent: Montag, 17. April 2017 20:40 > To: [email protected] > Subject: policy Reference URIs > > Hi all, > > I'm fairly new to CXF (started in the last couple months), and I've been > integrating it into a Spring Boot & Integration project (client) with some > success. > > The thing is, I've been stuck on a couple issues for the last few days, and > after > trial-and-error and stepping through apache-cxf-rt code, I thought I'd finally > admit I have a problem, and come and ask for help: > > There's a wsdl for a service I have to integrate with, that has an external > file > policyReference in a soap12:operation block. It allegedly works in a legacy > axis > application without modification: > > It is, literally: > <wsp:Policy> > <wsp:PolicyReference URI="policy:OurPolicy.xml#messageInput" /> > </wsp:Policy> > > How do you get this to resolve? Here's what I tried: > When I copy the contents of "OurPolicy.xml" into the wsdl itself, and get rid > of > the bit before the '#', cxf resolves it properly and all is right with the > world. But > I have several dozen wsdls like this, so hand editing each one this way would > be... undesirable. > > I've become very familiar with the error "RuntimeException > policy:OurPolicy.xml#messageInput cannot be resoved": > > I tried copying the file into the classpath in several different locations to > no > avail. > I tried adding a <jaxws:features> to the <jaxws:client> like: > <jaxws:features> > <p:policies> > <externalAttachment location="policy.OurPolicy.xml" > </p:policies> > </jaxws:features> > which didn't work, and I tried "classpath" in place of the "policy:" > scheme, without success. Also thought maybe I could load it from a location > and give it the policy name, but that didn't work either. Google was > unhelpful, > and the sample code in apache-cxf ws_security uses a policy which is in the > wsdl itself, (the version of the world I got to work earlier). > I debugged down into the EffectivePolicyImpl class to see if I could find what > the policy was being named, but after tracing this around for another hour I > figured I'd break down and ask... > > I'm assuming I need to do _something_ to make the Bus aware of this policy, in > such a way that the wsdls will resolve it, but I could certainly use any help > or > suggestions you have. > > Thanks in advance, > Decker
