[ https://issues.apache.org/jira/browse/XERCESJ-1510?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13038644#comment-13038644 ]
Mukul Gandhi commented on XERCESJ-1510: --------------------------------------- I had a quick look at the WSDL file and the schema you've cited. The XML document (your WSDL file) doesn't seem to conform to the WSDL schema you're using (at URL, http://schemas.xmlsoap.org/wsdl/). I don't see how the following element in your WSDL document, <plnk:partnerLinkType name="HelloPartnerLinkType"> <plnk:role name="me" portType="tns:HelloPortType"/> <plnk:role name="you" portType="tns:HelloPortType"/> </plnk:partnerLinkType> can appear as the list child element of wsdl:definitions. There doesn't seem to be any wild-card in the schema that you've cited, which allows this. Conclusion: this doesn't appear to be the the bug you're suspecting. perhaps you need to look for a different version of WSDL schema, which allows for the extension element you want to have at the desired position. > XML Schema Validation ignores parent any declaration > ---------------------------------------------------- > > Key: XERCESJ-1510 > URL: https://issues.apache.org/jira/browse/XERCESJ-1510 > Project: Xerces2-J > Issue Type: Bug > Components: JAXP (javax.xml.validation) > Affects Versions: 2.11.0 > Reporter: Aaron Anderson > > I am attempting to validate a WSDL document that contains an extension. > According to the WSDL schema the definitions type parent allows the any > wildcard definition. However, during validation, the extention element is > reported as being invalid. I enabled debugging on the > org.apache.xerces.impl.xs.models.XSDFACM class to try to troubleshoot the > problem. > package xercestest; > import java.net.URL; > import javax.xml.XMLConstants; > import javax.xml.transform.stream.StreamSource; > import javax.xml.validation.Schema; > import javax.xml.validation.SchemaFactory; > import javax.xml.validation.Validator; > public class XercesTest { > public static void main(String[] args) { > try { > SchemaFactory sf = > SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI); > StreamSource src = new StreamSource(new > URL("http://schemas.xmlsoap.org/wsdl/").openStream()); > Schema schema = sf.newSchema(src); > Validator validator = schema.newValidator(); > src = new StreamSource(new > URL("http://svn.apache.org/repos/asf/ode/trunk/bpel-test/src/test/resources/bpel/2.0/HelloWorld2//HelloWorld2.wsdl").openStream()); > validator.validate(src); > } catch (Exception e) { > e.printStackTrace(); > } > } > } > run: > Seq Node firstPos={ 0 1 } lastPos={ 1 } > Rep Node Nullable firstPos={ 0 } lastPos={ 0 } > Any Node: firstPos={ 0 } lastPos={ 0 } > Leaf: (pos=1), (elemIndex=null) firstPos={ 1 } lastPos={ 1 } > DFA build: 0ms > Seq Node firstPos={ 0 1 } lastPos={ 1 } > Rep Node Nullable firstPos={ 0 } lastPos={ 0 } > Leaf: (pos=0), > (elemIndex="http://schemas.xmlsoap.org/wsdl/":documentation) firstPos={ 0 } > lastPos={ 0 } > Leaf: (pos=1), (elemIndex=null) firstPos={ 1 } lastPos={ 1 } > DFA build: 0ms > Seq Node firstPos={ 0 1 } lastPos={ 1 } > Rep Node Nullable firstPos={ 0 } lastPos={ 0 } > Leaf: (pos=0), > (elemIndex="http://schemas.xmlsoap.org/wsdl/":documentation) firstPos={ 0 } > lastPos={ 0 } > Leaf: (pos=1), (elemIndex=null) firstPos={ 1 } lastPos={ 1 } > DFA build: 0ms > Seq Node firstPos={ 0 1 2 } lastPos={ 2 } > Seq Node Nullable firstPos={ 0 1 } lastPos={ 0 1 } > Rep Node Nullable firstPos={ 0 } lastPos={ 0 } > Leaf: (pos=0), > (elemIndex="http://schemas.xmlsoap.org/wsdl/":documentation) firstPos={ 0 } > lastPos={ 0 } > Rep Node Nullable firstPos={ 1 } lastPos={ 1 } > Any Node: firstPos={ 1 } lastPos={ 1 } > Leaf: (pos=2), (elemIndex=null) firstPos={ 2 } lastPos={ 2 } > DFA build: 0ms > Seq Node firstPos={ 0 1 2 3 4 5 6 7 8 } lastPos={ 8 } > Seq Node Nullable firstPos={ 0 1 2 3 4 5 6 7 } lastPos={ 0 1 2 3 4 5 6 7 } > Seq Node Nullable firstPos={ 0 1 } lastPos={ 0 1 } > Rep Node Nullable firstPos={ 0 } lastPos={ 0 } > Leaf: (pos=0), > (elemIndex="http://schemas.xmlsoap.org/wsdl/":documentation) firstPos={ 0 } > lastPos={ 0 } > Rep Node Nullable firstPos={ 1 } lastPos={ 1 } > Any Node: firstPos={ 1 } lastPos={ 1 } > Rep Node Nullable firstPos={ 2 3 4 5 6 7 } lastPos={ 2 3 4 5 6 7 } > Choice Node firstPos={ 2 3 4 5 6 7 } lastPos={ 2 3 4 5 6 7 } > Choice Node firstPos={ 2 3 4 5 6 } lastPos={ 2 3 4 5 6 } > Choice Node firstPos={ 2 3 4 5 } lastPos={ 2 3 4 5 } > Choice Node firstPos={ 2 3 4 } lastPos={ 2 3 4 } > Choice Node firstPos={ 2 3 } lastPos={ 2 3 } > Leaf: (pos=2), > (elemIndex="http://schemas.xmlsoap.org/wsdl/":import) firstPos={ 2 } > lastPos={ 2 } > Leaf: (pos=3), > (elemIndex="http://schemas.xmlsoap.org/wsdl/":types) firstPos={ 3 } lastPos={ > 3 } > Leaf: (pos=4), > (elemIndex="http://schemas.xmlsoap.org/wsdl/":message) firstPos={ 4 } > lastPos={ 4 } > Leaf: (pos=5), > (elemIndex="http://schemas.xmlsoap.org/wsdl/":portType) firstPos={ 5 } > lastPos={ 5 } > Leaf: (pos=6), > (elemIndex="http://schemas.xmlsoap.org/wsdl/":binding) firstPos={ 6 } > lastPos={ 6 } > Leaf: (pos=7), > (elemIndex="http://schemas.xmlsoap.org/wsdl/":service) firstPos={ 7 } > lastPos={ 7 } > Leaf: (pos=8), (elemIndex=null) firstPos={ 8 } lastPos={ 8 } > DFA build: 16ms > Seq Node firstPos={ 0 1 } lastPos={ 1 } > Rep Node Nullable firstPos={ 0 } lastPos={ 0 } > Leaf: (pos=0), > (elemIndex="http://schemas.xmlsoap.org/wsdl/":documentation) firstPos={ 0 } > lastPos={ 0 } > Leaf: (pos=1), (elemIndex=null) firstPos={ 1 } lastPos={ 1 } > DFA build: 16ms > Seq Node firstPos={ 0 1 2 } lastPos={ 2 } > Seq Node Nullable firstPos={ 0 1 } lastPos={ 0 1 } > Rep Node Nullable firstPos={ 0 } lastPos={ 0 } > Leaf: (pos=0), > (elemIndex="http://schemas.xmlsoap.org/wsdl/":documentation) firstPos={ 0 } > lastPos={ 0 } > Rep Node Nullable firstPos={ 1 } lastPos={ 1 } > Any Node: firstPos={ 1 } lastPos={ 1 } > Leaf: (pos=2), (elemIndex=null) firstPos={ 2 } lastPos={ 2 } > DFA build: 16ms > Seq Node firstPos={ 0 1 2 3 } lastPos={ 3 } > Seq Node Nullable firstPos={ 0 1 2 } lastPos={ 0 1 2 } > Seq Node Nullable firstPos={ 0 1 } lastPos={ 0 1 } > Rep Node Nullable firstPos={ 0 } lastPos={ 0 } > Leaf: (pos=0), > (elemIndex="http://schemas.xmlsoap.org/wsdl/":documentation) firstPos={ 0 } > lastPos={ 0 } > Rep Node Nullable firstPos={ 1 } lastPos={ 1 } > Any Node: firstPos={ 1 } lastPos={ 1 } > Rep Node Nullable firstPos={ 2 } lastPos={ 2 } > Leaf: (pos=2), (elemIndex="http://schemas.xmlsoap.org/wsdl/":part) > firstPos={ 2 } lastPos={ 2 } > Leaf: (pos=3), (elemIndex=null) firstPos={ 3 } lastPos={ 3 } > DFA build: 16ms > Seq Node firstPos={ 0 1 } lastPos={ 1 } > Rep Node Nullable firstPos={ 0 } lastPos={ 0 } > Leaf: (pos=0), > (elemIndex="http://schemas.xmlsoap.org/wsdl/":documentation) firstPos={ 0 } > lastPos={ 0 } > Leaf: (pos=1), (elemIndex=null) firstPos={ 1 } lastPos={ 1 } > DFA build: 16ms > Seq Node firstPos={ 0 1 2 } lastPos={ 2 } > Seq Node Nullable firstPos={ 0 1 } lastPos={ 0 1 } > Rep Node Nullable firstPos={ 0 } lastPos={ 0 } > Leaf: (pos=0), > (elemIndex="http://schemas.xmlsoap.org/wsdl/":documentation) firstPos={ 0 } > lastPos={ 0 } > Rep Node Nullable firstPos={ 1 } lastPos={ 1 } > Leaf: (pos=1), > (elemIndex="http://schemas.xmlsoap.org/wsdl/":operation) firstPos={ 1 } > lastPos={ 1 } > Leaf: (pos=2), (elemIndex=null) firstPos={ 2 } lastPos={ 2 } > DFA build: 16ms > Seq Node firstPos={ 0 1 2 5 } lastPos={ 8 } > Seq Node firstPos={ 0 1 2 5 } lastPos={ 2 3 4 5 6 7 } > Seq Node Nullable firstPos={ 0 1 } lastPos={ 0 1 } > Rep Node Nullable firstPos={ 0 } lastPos={ 0 } > Leaf: (pos=0), > (elemIndex="http://schemas.xmlsoap.org/wsdl/":documentation) firstPos={ 0 } > lastPos={ 0 } > Rep Node Nullable firstPos={ 1 } lastPos={ 1 } > Any Node: firstPos={ 1 } lastPos={ 1 } > Choice Node firstPos={ 2 5 } lastPos={ 2 3 4 5 6 7 } > Seq Node firstPos={ 2 } lastPos={ 2 3 4 } > Leaf: (pos=2), > (elemIndex="http://schemas.xmlsoap.org/wsdl/":input) firstPos={ 2 } lastPos={ > 2 } > Rep Node Nullable firstPos={ 3 } lastPos={ 3 4 } > Seq Node firstPos={ 3 } lastPos={ 3 4 } > Leaf: (pos=3), > (elemIndex="http://schemas.xmlsoap.org/wsdl/":output) firstPos={ 3 } > lastPos={ 3 } > Rep Node Nullable firstPos={ 4 } lastPos={ 4 } > Leaf: (pos=4), > (elemIndex="http://schemas.xmlsoap.org/wsdl/":fault) firstPos={ 4 } lastPos={ > 4 } > Seq Node firstPos={ 5 } lastPos={ 5 6 7 } > Leaf: (pos=5), > (elemIndex="http://schemas.xmlsoap.org/wsdl/":output) firstPos={ 5 } > lastPos={ 5 } > Rep Node Nullable firstPos={ 6 } lastPos={ 6 7 } > Seq Node firstPos={ 6 } lastPos={ 6 7 } > Leaf: (pos=6), > (elemIndex="http://schemas.xmlsoap.org/wsdl/":input) firstPos={ 6 } lastPos={ > 6 } > Rep Node Nullable firstPos={ 7 } lastPos={ 7 } > Leaf: (pos=7), > (elemIndex="http://schemas.xmlsoap.org/wsdl/":fault) firstPos={ 7 } lastPos={ > 7 } > Leaf: (pos=8), (elemIndex=null) firstPos={ 8 } lastPos={ 8 } > DFA build: 31ms > Seq Node firstPos={ 0 1 } lastPos={ 1 } > Rep Node Nullable firstPos={ 0 } lastPos={ 0 } > Leaf: (pos=0), > (elemIndex="http://schemas.xmlsoap.org/wsdl/":documentation) firstPos={ 0 } > lastPos={ 0 } > Leaf: (pos=1), (elemIndex=null) firstPos={ 1 } lastPos={ 1 } > DFA build: 31ms > Seq Node firstPos={ 0 1 } lastPos={ 1 } > Rep Node Nullable firstPos={ 0 } lastPos={ 0 } > Leaf: (pos=0), > (elemIndex="http://schemas.xmlsoap.org/wsdl/":documentation) firstPos={ 0 } > lastPos={ 0 } > Leaf: (pos=1), (elemIndex=null) firstPos={ 1 } lastPos={ 1 } > DFA build: 31ms > Seq Node firstPos={ 0 1 2 3 } lastPos={ 3 } > Seq Node Nullable firstPos={ 0 1 2 } lastPos={ 0 1 2 } > Seq Node Nullable firstPos={ 0 1 } lastPos={ 0 1 } > Rep Node Nullable firstPos={ 0 } lastPos={ 0 } > Leaf: (pos=0), > (elemIndex="http://schemas.xmlsoap.org/wsdl/":documentation) firstPos={ 0 } > lastPos={ 0 } > Rep Node Nullable firstPos={ 1 } lastPos={ 1 } > Any Node: firstPos={ 1 } lastPos={ 1 } > Rep Node Nullable firstPos={ 2 } lastPos={ 2 } > Leaf: (pos=2), > (elemIndex="http://schemas.xmlsoap.org/wsdl/":operation) firstPos={ 2 } > lastPos={ 2 } > Leaf: (pos=3), (elemIndex=null) firstPos={ 3 } lastPos={ 3 } > DFA build: 31ms > Seq Node firstPos={ 0 1 2 } lastPos={ 2 } > Seq Node Nullable firstPos={ 0 1 } lastPos={ 0 1 } > Rep Node Nullable firstPos={ 0 } lastPos={ 0 } > Leaf: (pos=0), > (elemIndex="http://schemas.xmlsoap.org/wsdl/":documentation) firstPos={ 0 } > lastPos={ 0 } > Rep Node Nullable firstPos={ 1 } lastPos={ 1 } > Any Node: firstPos={ 1 } lastPos={ 1 } > Leaf: (pos=2), (elemIndex=null) firstPos={ 2 } lastPos={ 2 } > DFA build: 31ms > Seq Node firstPos={ 0 1 2 } lastPos={ 2 } > Seq Node Nullable firstPos={ 0 1 } lastPos={ 0 1 } > Rep Node Nullable firstPos={ 0 } lastPos={ 0 } > Leaf: (pos=0), > (elemIndex="http://schemas.xmlsoap.org/wsdl/":documentation) firstPos={ 0 } > lastPos={ 0 } > Rep Node Nullable firstPos={ 1 } lastPos={ 1 } > Any Node: firstPos={ 1 } lastPos={ 1 } > Leaf: (pos=2), (elemIndex=null) firstPos={ 2 } lastPos={ 2 } > DFA build: 31ms > Seq Node firstPos={ 0 1 2 3 4 5 } lastPos={ 5 } > Seq Node Nullable firstPos={ 0 1 2 3 4 } lastPos={ 0 1 2 3 4 } > Seq Node Nullable firstPos={ 0 1 } lastPos={ 0 1 } > Rep Node Nullable firstPos={ 0 } lastPos={ 0 } > Leaf: (pos=0), > (elemIndex="http://schemas.xmlsoap.org/wsdl/":documentation) firstPos={ 0 } > lastPos={ 0 } > Rep Node Nullable firstPos={ 1 } lastPos={ 1 } > Any Node: firstPos={ 1 } lastPos={ 1 } > Seq Node Nullable firstPos={ 2 3 4 } lastPos={ 2 3 4 } > Seq Node Nullable firstPos={ 2 3 } lastPos={ 2 3 } > Rep Node Nullable firstPos={ 2 } lastPos={ 2 } > Leaf: (pos=2), > (elemIndex="http://schemas.xmlsoap.org/wsdl/":input) firstPos={ 2 } lastPos={ > 2 } > Rep Node Nullable firstPos={ 3 } lastPos={ 3 } > Leaf: (pos=3), > (elemIndex="http://schemas.xmlsoap.org/wsdl/":output) firstPos={ 3 } > lastPos={ 3 } > Rep Node Nullable firstPos={ 4 } lastPos={ 4 } > Leaf: (pos=4), > (elemIndex="http://schemas.xmlsoap.org/wsdl/":fault) firstPos={ 4 } lastPos={ > 4 } > Leaf: (pos=5), (elemIndex=null) firstPos={ 5 } lastPos={ 5 } > DFA build: 47ms > Seq Node firstPos={ 0 1 2 3 } lastPos={ 3 } > Seq Node Nullable firstPos={ 0 1 2 } lastPos={ 0 1 2 } > Seq Node Nullable firstPos={ 0 1 } lastPos={ 0 1 } > Rep Node Nullable firstPos={ 0 } lastPos={ 0 } > Leaf: (pos=0), > (elemIndex="http://schemas.xmlsoap.org/wsdl/":documentation) firstPos={ 0 } > lastPos={ 0 } > Rep Node Nullable firstPos={ 1 } lastPos={ 1 } > Any Node: firstPos={ 1 } lastPos={ 1 } > Rep Node Nullable firstPos={ 2 } lastPos={ 2 } > Leaf: (pos=2), (elemIndex="http://schemas.xmlsoap.org/wsdl/":port) > firstPos={ 2 } lastPos={ 2 } > Leaf: (pos=3), (elemIndex=null) firstPos={ 3 } lastPos={ 3 } > DFA build: 47ms > Seq Node firstPos={ 0 1 2 } lastPos={ 2 } > Seq Node Nullable firstPos={ 0 1 } lastPos={ 0 1 } > Rep Node Nullable firstPos={ 0 } lastPos={ 0 } > Leaf: (pos=0), > (elemIndex="http://schemas.xmlsoap.org/wsdl/":documentation) firstPos={ 0 } > lastPos={ 0 } > Rep Node Nullable firstPos={ 1 } lastPos={ 1 } > Any Node: firstPos={ 1 } lastPos={ 1 } > Leaf: (pos=2), (elemIndex=null) firstPos={ 2 } lastPos={ 2 } > DFA build: 47ms > Seq Node firstPos={ 0 1 } lastPos={ 1 } > Rep Node Nullable firstPos={ 0 } lastPos={ 0 } > Any Node: firstPos={ 0 } lastPos={ 0 } > Leaf: (pos=1), (elemIndex=null) firstPos={ 1 } lastPos={ 1 } > DFA build: 47ms > org.xml.sax.SAXParseException: cvc-complex-type.2.4.a: Invalid content was > found starting with element 'plnk:partnerLinkType'. One of > '{"http://schemas.xmlsoap.org/wsdl/":import, > "http://schemas.xmlsoap.org/wsdl/":types, > "http://schemas.xmlsoap.org/wsdl/":message, > "http://schemas.xmlsoap.org/wsdl/":portType, > "http://schemas.xmlsoap.org/wsdl/":binding, > "http://schemas.xmlsoap.org/wsdl/":service}' is expected. > at > org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:196) > at > org.apache.xerces.util.ErrorHandlerWrapper.error(ErrorHandlerWrapper.java:132) > at > org.apache.xerces.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:394) > at > org.apache.xerces.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:325) > at > org.apache.xerces.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:282) > at > org.apache.xerces.impl.xs.XMLSchemaValidator$XSIErrorReporter.reportError(XMLSchemaValidator.java:481) > at > org.apache.xerces.impl.xs.XMLSchemaValidator.reportSchemaError(XMLSchemaValidator.java:3571) > at > org.apache.xerces.impl.xs.XMLSchemaValidator.handleStartElement(XMLSchemaValidator.java:1982) > at > org.apache.xerces.impl.xs.XMLSchemaValidator.startElement(XMLSchemaValidator.java:788) > at > org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:283) > at > org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(XMLDocumentFragmentScannerImpl.java:1653) > at > org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:324) > at > org.apache.xerces.parsers.XML11Configuration.parse(XML11Configuration.java:875) > at > org.apache.xerces.parsers.XML11Configuration.parse(XML11Configuration.java:798) > at > org.apache.xerces.jaxp.validation.StreamValidatorHelper.validate(StreamValidatorHelper.java:186) > at > org.apache.xerces.jaxp.validation.ValidatorImpl.validate(ValidatorImpl.java:129) > at javax.xml.validation.Validator.validate(Validator.java:127) > at xercestest.XercesTest.main(XercesTest.java:34) > BUILD SUCCESSFUL (total time: 0 seconds) > In the oneTransition method of the XSDFACM class if the fTransTable contains > a -1 one the element is skipped. In the table below fTranTable[2][1] > corresponds to the parent any definition which is why the content is being > reported as being invalid. > fTransTable > 0 1,1,2,2,2,2,2,2 > 1 -1,1,2,2,2,2,2,2 > 2 -1,-1,2,2,2,2,2,2 > Unfortunately I don't fully understand the DFA table generation code fully > so I cannot suggest a patch. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira --------------------------------------------------------------------- To unsubscribe, e-mail: j-dev-unsubscr...@xerces.apache.org For additional commands, e-mail: j-dev-h...@xerces.apache.org