Hi, Is schema validation enabled? https://cxf.apache.org/faq.html#FAQ-HowcanIturnonschemavalidationforjaxwsendpoint ? If yes, and it's still keeping the formatting, it looks like a bug.
Colm. On Sat, May 2, 2020 at 9:41 AM Bhun Kho <[email protected]> wrote: > Hi cxf mailing list, > > Is the absence of whitespace collapse in of the MessageID-value obtained > from the MessageContext > a bug or intended behavior? (See below) > > Thanks in advance, > Bhun. > > -- > > The WS-A MessageID from a message is obtainable under the > 'javax.xml.ws.addressing.context.inbound' property of the the > MessageContext and returned as AttributedURIType. > > I expected the AttributedURIType.value to comply with the schema after > having applied the whitespace handling rules [1], but the element content > is neither trimmed nor collapsed. > > I don't have an unit test (yet), but I do have a modified version of > distribution/src/main/release/samples/ws_addressing available, [2] with the > following modifications > - the client is modified to send the MessageID with value " a > \n\n\n\nb b\n\n\n\n a " > -the service modified to print the MessageID between '|BEGIN|' and '|END|' > > The server modification when run prints the MessageID sent from the client > as: > {code} > |BEGIN| a > > > > b b > > > > a |END| > {code} > > But I would've expected the AttributedURIType.value to be returned after > the xsd:whitespace='collapse' applied: > > {code} > |BEGIN|a b b a|END| > {code} > > The 'collapse' as defied in https://www.w3.org/TR/xmlschema-1/#d0e1654 > > {quote} > preserve > No normalization is done, the value is the ·normalized value· > replace > All occurrences of #x9 (tab), #xA (line feed) and #xD (carriage return) > are replaced > with #x20 (space). > collapse > Subsequent to the replacements specified above under replace, contiguous > sequences of #x20s are collapsed to a single #x20, and initial and/or final > #x20s are deleted. > {quote} > > --- > > [1] Excerpt from the schema's in the cxf-project: > > {code} > <!-- !/schemas/wsdl/ws-addr.xsd --> > > <xs:element name="MessageID" type="tns:AttributedURIType"/> > <xs:complexType name="AttributedURIType"> > <xs:simpleContent> > <xs:extension base="xs:anyURI"> > <xs:anyAttribute namespace="##other" processContents="lax"/> > </xs:extension> > </xs:simpleContent> > </xs:complexType> > > <!-- !/schemas/wsdl/XMLSchema.xsd --> > <xs:simpleType name="anyURI" id="anyURI"> > <xs:restriction base="xs:anySimpleType"> > <xs:whiteSpace value="collapse" fixed="true" > id="anyURI.whiteSpace"/> > </xs:restriction> > </xs:simpleType> > {code} > > [2] Branch with the modification of 3.4.0-SNAPSHOT master > https://github.com/kimholan/cxf/commit/abbbafbb5887d01eb2331454abcf6ee1304e0c8f > > --- >
