Java XSD断言可以用于指定WSDL文件吗

Java XSD断言可以用于指定WSDL文件吗,java,web-services,tomcat,xsd,wsdl,Java,Web Services,Tomcat,Xsd,Wsdl,我有一个WSDL文件,它还包含了其中使用的所有类型(通过 标签)。在定义类型时,我有如下内容: <wsdl:definitions name="service" targetNamespace="http://www.xxx.yyy/reg/definitions" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:tax="http://www.xxx.yyy/reg/definitions" xmlns:xs=

我有一个WSDL文件,它还包含了其中使用的所有类型(通过
标签)。在定义类型时,我有如下内容:

<wsdl:definitions name="service"
        targetNamespace="http://www.xxx.yyy/reg/definitions" xmlns="http://schemas.xmlsoap.org/wsdl/"
        xmlns:tax="http://www.xxx.yyy/reg/definitions" xmlns:xs="http://www.w3.org/2001/XMLSchema"
        xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
    .............
    <xs:complexType name="CompanyName">
        <xs:sequence>
            <xs:element name="Name" type="xs:string" />
            <xs:element name="ShortName" type="xs:string" minOccurs="0" />
        </xs:sequence>
        <xs:attribute name="Language" type="tax:LanguageType" use="required"/>
        <xs:assert test="ShortName or @Language != 'Language1'"/>
    </xs:complexType>
    .............
</wsdl:definitions>
WSDL版本是1.2,我不知道在其中描述类型时它使用的是哪个xsd版本,所以我不知道它是xsd版本(1.0对1.1)还是其他问题

有人能帮我找到真正的问题吗

编辑:我已经添加了wsdl的标题。 我已将version属性(
version=“1.1”
)添加到
定义,但这也无济于事:

<xs:schema targetNamespace="http://www.xxx.yyy/reg/definitions" elementFormDefault="qualified" version="1.1">

看起来像是当

示例标题:

<wsdl:description
  targetNamespace="http://www.w3.org/2002/ws/sawsdl/spec/wsdl/order#"
  xmlns="http://www.w3.org/2002/ws/sawsdl/spec/wsdl/order#"
  xmlns:wsdl="http://www.w3.org/ns/wsdl"
  xmlns:xs="http://www.w3.org/2001/XMLSchema"
  xmlns:sawsdl="http://www.w3.org/ns/sawsdl">


我不确定这个问题是否有“真正好的答案”,因为在WSDL的文本中,对XSD的引用对于支持的版本(在中)是相当模糊的,并且还规定(在§3.2中)可以支持其他模式语言。但是,XML模式的参考建议是1.0(in)。@potame:很难找到答案,但无论如何,感谢您的支持和链接。如果没有
标记,这很难调试。您可以包含WSDL的标题吗?@saarp:请查看问题的编辑部分(我已经添加了必需的部分)。@Armine当我在
标记中的
xmlns:soap
xmlns:WSDL
命名空间引用之间添加空格时,上面的模式会正确验证。您还可以尝试更新的wsdl模式URL。是的,断言已经在XSD v.1.1中引入,因此如果我有1.0版的XSD,我就不能使用断言。但我的问题是,我是否可以将XSDV.1.1与WSDL一起使用?我已将version属性(version=“1.1”)添加到定义中,但这也没有帮助。
<wsdl:description
  targetNamespace="http://www.w3.org/2002/ws/sawsdl/spec/wsdl/order#"
  xmlns="http://www.w3.org/2002/ws/sawsdl/spec/wsdl/order#"
  xmlns:wsdl="http://www.w3.org/ns/wsdl"
  xmlns:xs="http://www.w3.org/2001/XMLSchema"
  xmlns:sawsdl="http://www.w3.org/ns/sawsdl">