Web services 无法将中的WSDL导入Visual Studio 2012
尝试与基于PHP SOAP的web服务集成。客户机给了我一个指向WSDL文件的URL,该文件似乎与 我正在使用“高级”对话框中的“添加Web引用”选项添加引用。添加URL时,对话框中的web浏览器显示WSDL规范中的两种方法,但右侧的状态区域中有一条错误消息,并且添加引用按钮被禁用 错误消息:Web services 无法将中的WSDL导入Visual Studio 2012,web-services,visual-studio,wsdl,Web Services,Visual Studio,Wsdl,尝试与基于PHP SOAP的web服务集成。客户机给了我一个指向WSDL文件的URL,该文件似乎与 我正在使用“高级”对话框中的“添加Web引用”选项添加引用。添加URL时,对话框中的web浏览器显示WSDL规范中的两种方法,但右侧的状态区域中有一条错误消息,并且添加引用按钮被禁用 错误消息: The document at the url http://www.NAMEHERE.com/NAME/xml/test.php?wsdl was not recognized as a known
The document at the url http://www.NAMEHERE.com/NAME/xml/test.php?wsdl was not
recognized as a known document type.
The error message from each known type may help you fix the problem:
- Report from 'XML Schema' is 'The root element of a W3C XML Schema should be <schema> and its nam
url处的文档http://www.NAMEHERE.com/NAME/xml/test.php?wsdl 不是
被识别为已知文档类型。
来自每种已知类型的错误消息可能有助于解决问题:
-来自“XML模式”的报告是“W3C XML模式的根元素应该是及其nam”
如果我通过在线WSDL验证器运行WSDL,它似乎是正确的,并且,正如我所说,它确实符合标准
此外,我还尝试使用WSDL.EXE命令行,并尝试了SOAP、SOAP12、HTTPGET和HTTPPOST协议,每次都会收到相同的错误消息
WSDL摘录如下:
<?xml version="1.0" encoding="ISO-8859-1"?>
<definitions xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:tns="http://www.NAMEHERE.com/NAME/xml/namespace"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns="http://schemas.xmlsoap.org/wsdl/"
targetNamespace="http://www.NAMEHERE.com/NAME/xml/namespace">
<types>
<xsd:schema targetNamespace="http://www.NAMEHERE.com/NAME/xml/namespace">
<xsd:import namespace="http://schemas.xmlsoap.org/soap/encoding/"/>
<xsd:import namespace="http://schemas.xmlsoap.org/wsdl/"/>
<xsd:complexType name="AddressWO">
....
....
cilent表示,他们还没有与任何其他合作伙伴经历过这个问题,他们都能够成功整合。尽管如此,它们是PHP对PHP的
我已经搜索了这么多,但无法明确地找到相同的问题(或任何合适的答案)
有什么想法吗?在花了相当多的时间之后,结果证明WSDL毕竟不是完美的。在VisualStudio导入WSDL之前,我们的业务合作伙伴需要对WSDL进行一些小的修改 问题是他们在元素上有一个minOccurs属性,这在该场景中是无效的 这里需要注意的是,一些在线验证器说WSDL是有效的,我们尝试的PHP客户端也是如此 然后,我们在JDK1.6+中使用了WLIMPORT程序,这给出了WSDL中错误的详细列表,并指出了问题的确切原因 因此,我们的业务合作伙伴在最后修改了规范,现在VisualStudio成功导入了WSDL
希望这有帮助。同样的问题也会出现在我的服务中。当我尝试在其他应用程序中使用时,它会给出相同的错误。您的业务合作伙伴是否有可能做出任何更改。?