It is a neethi bug but the solution I went with in cxf is neater anyway. Sent from my Galaxy S2 On Jan 25, 2013 3:10 AM, "Daniel Kulp" <[email protected]> wrote:
> > On Jan 23, 2013, at 5:00 AM, Jason Pell <[email protected]> wrote: > > > I have opened a jira around this issue - 4774. > > > > My solution is not to try and fix the neethi issue, but instead to > > work around it. I am planning to cache the Policy Element in the > > PolicyAttachment class which simplifies the code in > > org.apache.cxf.ws.policy.ServiceModelPolicyUpdater anyway and avoids > > reserialising the Policy file for the WSDL. > > > > I am still looking to see if its possible to more tightly integrate > > the external attachments stuff in so that the service model gets the > > ws policy stuff included as part of loading the external attachments. > > > > So unless anyone has an issue with caching the Element object in > > PolicyAttachment I don't have to worry about trying to fix > > ExactlyOne or All classes in Neethi, which seeing as its been over a > > year since a release of neethi (at least so far as maven repo is > > concerned) thats a good thing :-) > > I wouldn't worry about the Neethi release schedule. It's something we > can easily influence. There just haven't been any issues logged at NEETHI > and all issues are resolved for a year so no need for a release: > > https://issues.apache.org/jira/browse/NEETHI > > Dan > > > > > > > > On Wed, Jan 23, 2013 at 6:15 PM, Jason Pell <[email protected]> wrote: > >> Hi, > >> > >> I have an issue with latest CXF when serialising a Policy. The > >> <ExactlyOne> and <All> tags do not include the prefix. I believe this > >> is causing my jaxws:client to fail when pointing at the WSDL. > >> > >> This only happens when using policy attachments > >> > >> <wsp:Policy xmlns:wsu=" > http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd > " > >> xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy" > >> wsu:Id="UsernameToken"><ExactlyOne><All><sp:SupportingTokens > >> xmlns:sp="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702 > "><wsp:Policy > >> xmlns:wsp="http://www.w3.org/ns/ws-policy"><sp:UsernameToken > >> xmlns:sp="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702" > >> sp:IncludeToken=" > http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/Always > "><wsp:Policy><sp:WssUsernameToken10/></wsp:Policy></sp:UsernameToken></wsp:Policy></sp:SupportingTokens></All></ExactlyOne></wsp:Policy> > >> > >> > >> The code in cxf is using W3CDOMStreamWriter and in the ExactlyOne and > >> All classes calling the > >> > >> writer.writeStartElement(namespace,Constants.ELEM_EXACTLYONE); > >> > >> But it does this when the prefix is NOT null. This seems wrong to me. > >> > >> The classes involved are: > >> > >> org.apache.neethi.ExactlyOne > >> org.apache.neethi.All > >> > >> I think these classes should actually be calling: > >> > >> writer.writeStartElement(prefix, Constants.ELEM_EXACTLYONE, namespace); > >> > >> Basically same as PolicyReference > >> > >> Can someone with familiarity with Neethi help me here please. > >> > >> I have downloaded the neethi trunk and am going to make the changes in > >> my local and see if it fixes my own problem, but I was hoping for some > >> additional assistance with the problem. > > -- > Daniel Kulp > [email protected] - http://dankulp.com/blog > Talend Community Coder - http://coders.talend.com > >
