如何解决由于wsdl中的union元素而删除了命名空间
我在wsdl的模式之一中有以下内容
<wsdl:types>
<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:common="http://www.test.com/testms/so/common" xmlns:grid="http://www.test.com/testms/so/grid" xmlns:tns="http://www.test.com/testms/so/contract" targetNamespace="http://www.test.com/testms/so/contract">
<!-- I have serveal elements here-->
<simpleType name="CapacityFeeType">
<union memberTypes="grid:GridnodeFeeType tns:OrderFeeType"/>
</simpleType>
</schema>
</wsdl:types>
因此,当我在Metro和axis2顶部开发的应用程序中验证此文件时,以下[xmlns:grid =“ http://www.test.com/testms/so/grid”]由于联合而被删除元素。
在跟踪中,我可以看到以下错误
schema error
org.xml.sax.SAXParseException; s4s-att-invalid-value: Invalid attribute value for 'memberTypes' in element 'union'. Recorded reason: cvc-datatype-valid.1.2.2: 'grid:GridnodeFeeType tns:OrderFeeType' is not a valid value of list type '(List of QName)'.
at org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)
at org.apache.xerces.util.ErrorHandlerWrapper.error(Unknown Source)
at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
at org.apache.xerces.impl.xs.traversers.XSDHandler.reportSchemaError(Unknown Source)
at org.apache.xerces.impl.xs.traversers.XSDHandler.reportSchemaError(Unknown Source)
at org.apache.xerces.impl.xs.traversers.XSAttributeChecker.reportSchemaError(Unknown Source)
at org.apache.xerces.impl.xs.traversers.XSAttributeChecker.checkAttributes(Unknown Source)
at org.apache.xerces.impl.xs.traversers.XSAttributeChecker.checkAttributes(Unknown Source)
at org.apache.xerces.impl.xs.traversers.XSDSimpleTypeTraverser.getSimpleType(Unknown Source)
at org.apache.xerces.impl.xs.traversers.XSDSimpleTypeTraverser.traverseSimpleTypeDecl(Unknown Source)
at org.apache.xerces.impl.xs.traversers.XSDSimpleTypeTraverser.traverseGlobal(Unknown Source)
at org.apache.xerces.impl.xs.traversers.XSDHandler.traverseGlobalDecl(Unknown Source)
at org.apache.xerces.impl.xs.traversers.XSDHandler.getGlobalDecl(Unknown Source)
at org.apache.xerces.impl.xs.traversers.XSDAttributeTraverser.traverseNamedAttr(Unknown Source)
at org.apache.xerces.impl.xs.traversers.XSDAttributeTraverser.traverseLocal(Unknown Source)
at org.apache.xerces.impl.xs.traversers.XSDAbstractTraverser.traverseAttrsAndAttrGrps(Unknown Source)
at org.apache.xerces.impl.xs.traversers.XSDComplexTypeTraverser.processComplexContent(Unknown Source)
at org.apache.xerces.impl.xs.traversers.XSDComplexTypeTraverser.traverseComplexTypeDecl(Unknown Source)
at org.apache.xerces.impl.xs.traversers.XSDComplexTypeTraverser.traverseGlobal(Unknown Source)
at org.apache.xerces.impl.xs.traversers.XSDHandler.traverseXSDSchemaGlobalDecls(Unknown Source)
at org.apache.xerces.impl.xs.traversers.XSDHandler.traverseSchemas(Unknown Source)
at org.apache.xerces.impl.xs.traversers.XSDHandler.parseSchema(Unknown Source)
at org.apache.xerces.impl.xs.XMLSchemaLoader.loadSchema(Unknown Source)
at org.apache.xerces.impl.xs.XMLSchemaLoader.loadGrammar(Unknown Source)
at org.apache.xerces.impl.xs.XMLSchemaLoader.loadGrammar(Unknown Source)
at org.apache.xerces.jaxp.validation.BaseSchemaFactory.newSchema(Unknown Source)
at org.apache.xerces.jaxp.validation.XMLSchema11Factory.newSchema(Unknown Source)
因此,wsdl中的结果内容如下
<wsdl:types>
<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:common="http://www.test.com/testms/so/common" xmlns:tns="http://www.test.com/testms/so/contract" targetNamespace="http://www.test.com/testms/so/contract">
<!-- I have serveal elements here-->
<simpleType name="CapacityFeeType">
<union memberTypes="grid:GridnodeFeeType tns:OrderFeeType"/>
</simpleType>
</schema>
</wsdl:types>
因此,导致此问题的任何想法或解决方案都会引起。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。