You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Steven E. Harris (JIRA)" <ji...@apache.org> on 2007/05/22 16:57:16 UTC

[jira] Commented: (CXF-662) Make schema for WS-Policy (and related schemas) available to Spring's validating parser to preclude fetch them

    [ https://issues.apache.org/jira/browse/CXF-662?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12497886 ] 

Steven E. Harris commented on CXF-662:
--------------------------------------

I tried to test the changes this morning, but it looks like they haven't propagated out to the nightly Maven-published builds, but thank you for now for fixing this problem. I'll try again tomorrow and report back if I still encounter trouble.

> Make schema for WS-Policy (and related schemas) available to Spring's validating parser to preclude fetch them
> --------------------------------------------------------------------------------------------------------------
>
>                 Key: CXF-662
>                 URL: https://issues.apache.org/jira/browse/CXF-662
>             Project: CXF
>          Issue Type: Improvement
>          Components: WS-* Components
>    Affects Versions: 2.1
>         Environment: NA
>            Reporter: Steven E. Harris
>         Assigned To: Andrea Smyth
>
> Even though the WS-Policy schema are present in cxf-rt-ws-policy module under the "schema" directory, it seems that Spring's XML parser doesn't find the schema for
>   http://www.w3.org/2006/07/ws-policy
> When I mention this schema in my cxf.xml file like the following except, I see the error that follows:
>    <!-- TODO: Watch for migration of wsam referring to http://www.w3.org/ns/ws-policy. -->
>    <wsp:Policy wsu:Id="addressingPolicy"
>                xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
>                xmlns:wsp="http://www.w3.org/2006/07/ws-policy">
>       <wsam:Addressing xmlns:wsam="http://www.w3.org/2007/02/addressing/metadata"
>                        wsp:Optional="true">
>          <wsp:Policy/>
>       </wsam:Addressing>
>    </wsp:Policy>
> Caused by: org.xml.sax.SAXParseException: cvc-complex-type.2.4.c: The matching wildcard is strict, but no declaration can be found for element 'wsp:Policy'.
> 	at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:195)
> 	at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(ErrorHandlerWrapper.java:131)
> 	at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:384)
> 	at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:318)
> 	at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator$XSIErrorReporter.reportError(XMLSchemaValidator.java:410)
> 	at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.reportSchemaError(XMLSchemaValidator.java:3165)
> 	at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.handleStartElement(XMLSchemaValidator.java:1898)
> 	at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.startElement(XMLSchemaValidator.java:685)
> 	at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:400)
> 	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2740)
> 	at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:645)
> 	at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:140)
> 	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:508)
> 	at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:807)
> 	at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)
> 	at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:107)
> 	at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:225)
> 	at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:283)
> 	at org.springframework.beans.factory.xml.DefaultDocumentLoader.loadDocument(DefaultDocumentLoader.java:76)
> 	at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:351)
> 	... 26 more
> If I include an explicit schemaLocation declaration for this namespace like the following, no error arises:
>    <!-- TODO: Watch for migration of wsam referring to http://www.w3.org/ns/ws-policy. -->
>    <wsp:Policy wsu:Id="addressingPolicy"
>                xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
>                xmlns:wsp="http://www.w3.org/2006/07/ws-policy">
>                xsi:schemaLocation="http://www.w3.org/2006/07/ws-policy http://www.w3.org/2006/11/ws-policy.xsd">
>       <wsam:Addressing xmlns:wsam="http://www.w3.org/2007/02/addressing/metadata"
>                        wsp:Optional="true">
>          <wsp:Policy/>
>       </wsam:Addressing>
>    </wsp:Policy>
> However, in this latter case, the XML parser fetches the schema from the supplied URL ovre the network -- or at least it seems to, as it takes a lot longer to process the wsp:Policy element.
> Should I really need this schemaLocation attribute? If the schema is shipped with the cxf-rt-ws-policy module, shouldn't it be found by the XML parser?

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.