将ASP.NET版本4 Visual Studio 2010 Express项目中的WSDL定义导入SOAPUI 4.5.1时出错
网址就像
http://localhost:7929/ws/AX.asmx?WSDL
生成错误
Error loading [http://localhost:7929/ws/AX.asmx?WSDL]: org.apache.xmlbeans.XmlException:
org.apache.xmlbeans.XmlException: error: Unexpected element: TAG_END
错误追踪:
com.eviware.soapui.impl.support.definition.support.InvalidDefinitionException
at com.eviware.soapui.impl.wsdl.support.wsdl.WsdlLoader.loadXmlObject(WsdlLoader.java:138)
at com.eviware.soapui.impl.wsdl.support.xsd.SchemaUtils.getDefinitionParts(SchemaUtils.java:535)
...
欢迎任何建议!
答案 0 :(得分:15)
答案 1 :(得分:5)
问题是soapui不知道在哪里可以找到模式文件。 如果您的wsdl部署到服务器,它将返回要包含的xsd文件的URL,并且soapui将能够找到它....
答案 2 :(得分:2)
我遇到了同样的问题,几个小时后我发现问题出在IPv6上。
当我转到服务URL时,我可以看到并验证wsdl文件。完全没有问题。
@
但是当我将此URL添加到SoapUI时,它会给出错误http://localhost/SoapServer.php?wsdl
。
我通过使用cURL找到了原因,Unexpected element: TAG_END
返回404 !!
因此我意识到我的Apache同时监听IPv4和IPv6,浏览器转到IPv6并获取wsdl但cURL和SoapUI转到IPv4并获得404错误。
我通过删除curl http://localhost/SoapServer.php?wsdl
文件中的行Listen [::0]:80
在我的Apache上禁用了IPv6,这解决了这个问题。
答案 3 :(得分:0)
您确定该服务正在运行吗? 在调试带有多个WCF项目的解决方案时,有时我们会以为正在运行我们正在研究的项目,事实并非如此。 如果在浏览器中输入svc url时遇到错误404,则可能是问题的原因。 在这种情况下,当尝试添加或创建新的WSDL端点时,SOAP UI将失败。 因此,请确保您的解决方案从目标svc所在的项目开始运行。