元素“xs:schema”的前缀“xs”未绑定
Posted
技术标签:
【中文标题】元素“xs:schema”的前缀“xs”未绑定【英文标题】:The prefix "xs" for element "xs:schema" is not bound 【发布时间】:2013-01-14 14:54:20 【问题描述】:以下是我在为 SOAP 服务生成客户端时尝试使用的 xsd,Eclipse 抛出错误:。
<xs:schema version="1.0"
targetNamespace="bdo.com.ph/RemitAPI">
<xs:element name="CheckServiceResponse"
nillable="true" type="xs:string"/>
<xs:element name="apiRequest" nillable="true" type="tns:APIRequest"/>
.............................
<xs:element name="referenceNo" type="xs:string" form="qualified"/>
</xs:sequence>
</xs:complexType>
</xs:schema>
我从网络服务获得了这个 xsd
【问题讨论】:
您是否刚刚从 WSDL 中提取了 Schema 部分?可能 xs 名称空间是在 WSDL 的信封中定义的。尝试在架构元素中添加 xmlns:xs="w3.org/2001/XMLSchema" 作为属性: xmlns:xs="http://www.w3.org/2001/XMLSchema"
未在架构 XSD 中添加。 添加它让我继续下一步。
xmlns:tns="http://www.bdo.com.ph/RemitAPI
在 XSD 中不存在,尽管它存在于封闭的 WSDL 中。
当从 WSDL 中提取 XSD 到本地机器时,XSD 中的命名空间引用不会从 WSDL 中获取,它们需要在 XSD 中声明。
【讨论】:
【参考方案2】:这主要是因为缺少命名空间声明。
"<elem "namespace" ..xsi:nil=true.>"
会起作用。基本上,XML 验证器需要一个命名空间来验证。
【讨论】:
以上是关于元素“xs:schema”的前缀“xs”未绑定的主要内容,如果未能解决你的问题,请参考以下文章
在xml中xsd:schema和xs:schema是一个意思吗
Spring“元素“tx:annotation-driven”的前缀“tx”未绑定。”