Soap “重新定义xsd元素抛出”;“格式不好”;错误

Soap “重新定义xsd元素抛出”;“格式不好”;错误,soap,xsd,wsdl,soapui,w3c,Soap,Xsd,Wsdl,Soapui,W3c,我试图在xsd中使用元素重定义。我尝试了不同的组合,但仍然没有解决这个错误。当我尝试将包含重新定义的模式的WSDL加载到SOAP UI中时,会出现错误。而且,它没有出现在eclipse中xsd的设计中 WSDL->Imports TestService.xsd->Imports CreateTest.xsd->包含CreateTestRequestType的定义 当我把它加载到我的SOAPUI中时,一切看起来都很好,没有错误 现在,我试图在另一个名为CreateRedefineTest.xsd的

我试图在xsd中使用元素重定义。我尝试了不同的组合,但仍然没有解决这个错误。当我尝试将包含重新定义的模式的WSDL加载到SOAP UI中时,会出现错误。而且,它没有出现在eclipse中xsd的设计中

WSDL->Imports TestService.xsd->Imports CreateTest.xsd->包含CreateTestRequestType的定义

当我把它加载到我的SOAPUI中时,一切看起来都很好,没有错误

现在,我试图在另一个名为CreateRedefineTest.xsd的xsd中重新定义类型CreateTestRequestType,并将此xsd导入TestService.xsd(import语句已注释,但我必须取消注释此导入并注释另一个以进行测试)。但是,当我将WSDL加载到SOAP UI中时,会出现以下错误:

Source: null Error: URL "CreateTest.xsd" is not well-formed
EDIT1: 我可以通过给出一个绝对路径来解决这个错误。是否有可能使其与相对路径一起工作

EDIT2 我看了w3关于这个元素的文章,这个例子确实使用了相对路径。但我试着复制,但仍然不起作用。该示例可在本网站上找到

我想我遗漏了一些规则,但我已经尝试了很多方法,似乎无法解决这个问题

下面是WSDL和XSD的源代码

WSDL:


这可能是因为解析器无法找到“cp:”的模式文档。
如果您对cp xsd使用绝对URL,或者使用XML目录,这种情况还会发生吗?

SoapUI是一个很好的工具,它帮助我度过了难关,并将在未来以很好的方式继续帮助我

我认为这是许多用户显然不使用的功能之一,并且似乎是SOAPUI5.0.0中的一个bug。我在几个旧版本的SoapUI中尝试了同样的方法,得到了同样的结果。我还在SOAPUINGPro 1.2.2的试用版中试用了它

然后我在XMLSpy中尝试了这个方法,它没有任何错误,完全相同的xsd,没有任何修改。(注意:TestService.xsd需要重定义的.xsd的注释导入语句)

我还发现报告了一个bug,但没有找到解决方案或对该解决方案的任何评论。如果有人想要这些bug的引用,请访问。如果愿意,您可以查找相关的bug 651、586和539

我希望在某个时候,这个bug在SoapUI中得到修复。 我还创建了一个新的bug来引用这些旧bug并进行整合:

如果其他人遇到同样的问题,希望这篇文章能节省他们的时间


感谢所有看过这篇文章的人。

我想确认一下,在5.0.0版的SOAP UI中尝试使用消息集中的xsd:redefinite元素时,我遇到了与上面相同的错误

基本上,我必须扩展另一个应用程序的消息定义,即开放地理空间组-Web功能服务定义的消息集,并在WSDL的请求和响应定义中使用重新定义的模式

除了“格式不正确”错误,我还得到:

“源:空错误:类型”QueryType@http://www.opengis.net/wfs“未找到”。


Eclipse在WSDL验证方面没有问题,我可以毫无问题地将其导入Rational Service Tester(V8.5.0.2)。

我不知道XMLBeans(它使用的是SOAPUI加载WSDL和XSD的框架)中是否有错误。问题是,如果我在
xs:redefinite
中为
schemaLocation
使用绝对路径,则使用follow符号
file:///C:/Path_to_xsd
似乎在加载WSDL时会抛出非错误。但是,当我创建请求并手动添加新元素
时,我使用SOAPUI验证请求,它会说不允许使用该元素。因此,如果完整路径wsdl加载没有错误,但加载不正确。。。希望您能幸运地找到解决方案。@albciff,谢谢您查看并尝试。我尝试使用绝对路径,它工作并加载预期的元素,并验证OK。我用“/”代替“\”,效果很好。现在,我需要弄清楚如何使用相对路径使其工作。非常感谢您的尝试!很高兴我的评论能帮助你
:)