Wsdl到PHP:无法导入xml-exc-c14n的模式错误

时间:2015-05-20 11:30:30

标签: php xml soap wsdl

我正在尝试使用wsdl2php.php脚本从wsdl文件生成一个php文件。 以前当我没有在SOAP服务中使用WS-Security时,一切都很好。

每次运行脚本时,我都会收到错误:

PHP Fatal error: SOAP-ERROR: Parsing Schema: can't import schema from 'http://www.w3.org/2001/10/xml-exc-c14n#'

我不知道是否缺少任何php库或包... 任何人都可以帮助我吗?

我的wsdl文件如下:          

<types>

 <schema targetNamespace="http://tempuri.org/myService.xsd"
  xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
  xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
  xmlns:c14n="http://www.w3.org/2001/10/xml-exc-c14n#"
  xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
  xmlns:xenc="http://www.w3.org/2001/04/xmlenc#"
  xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
  xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
  xmlns:myService="http://tempuri.org/myService.xsd"
  xmlns="http://www.w3.org/2001/XMLSchema"
  elementFormDefault="unqualified"
  attributeFormDefault="unqualified">
  <import namespace="http://www.w3.org/2001/10/xml-exc-c14n#" schemaLocation="http://www.w3.org/2001/10/xml-exc-c14n#"/>
  <import namespace="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" schemaLocation="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"/>
  <import namespace="http://www.w3.org/2001/04/xmlenc#" schemaLocation="http://www.w3.org/2001/04/xmlenc#"/>
  <import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="http://www.w3.org/2000/09/xmldsig#"/>
  <import namespace="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" schemaLocation="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"/>
  <import namespace="http://schemas.xmlsoap.org/soap/encoding/"/>
....
....

1 个答案:

答案 0 :(得分:0)

您是否尝试在浏览器中打开网址http://www.w3.org/2001/10/xml-exc-c14n#?您会看到它指向的是网页,而不是下一个http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd所指向的架构。 在任何情况下,使用wsdl2php或WsdlToPhp都会触发此错误。