尝试与基于 PHP SOAP 的 Web 服务集成。客户给了我一个 WSDL 文件的 URL,这似乎符合W3C WSDL 标准。
我正在使用高级对话框中的添加 Web 引用选项来添加引用。当我添加 URL 时,对话框中的 Web 浏览器显示 WSDL 规范中的两个方法,但右侧状态区有错误消息,并且添加引用按钮被禁用。
错误信息:
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
如果我通过在线 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。
我已经搜索过,但无法明确找到相同的问题(或任何合适的答案)。
有任何想法吗?