Src-resolve:无法将名称'OTA_PayloadStdAttributes'解析为A(n)'属性组'组件

时间:2016-04-25 11:16:08

标签: xml xsd wsdl xsd-validation nusoap

我有一个带有nuSoap(PHP)的SOAP服务器,我正在尝试导入/包含xsd,但验证器WSDL显示下一个错误:

  

Src-resolve:无法解析名称'OTA_PayloadStdAttributes'到   A(n)'属性组'组件。

<?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://otatest.goldcar.es/OpenTravel_2015B_XML" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:elementFormDefault="qualified" xmlns:version="2.000" xmlns:id="OTA2015B" xmlns="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://otatest.goldcar.es/OpenTravel_2015B_XML">
<types>
<xsd:schema elementFormDefault="qualified" version="2.000" id="OTA2015B" targetNamespace="http://otatest.goldcar.es/OpenTravel_2015B_XML"
>

 <xsd:import schemaLocation="http://otatest.goldcar.es/OpenTravel_2015B_XML/OTA_CommonTypes.xsd" />
 <xsd:import schemaLocation="http://otatest.goldcar.es/OpenTravel_2015B_XML/OTA_VehicleCommonTypes.xsd" />

   <!-- <xsd:include namespace="http://otatest.goldcar.es/OpenTravel_2015B_XML" schemaLocation="http://otatest.goldcar.es/OpenTravel_2015B_XML/OTA_VehResNotifRQ.xsd"/>
   <xsd:include namespace="http://otatest.goldcar.es/OpenTravel_2015B_XML" schemaLocation="http://otatest.goldcar.es/OpenTravel_2015B_XML/OTA_VehResNotifRS.xsd"/> -->

</xsd:schema>
</types>
<message name="OTA_VehResNotifRQ">
  <part name="POS" type="xsd:string" />
  <part name="Reservations" type="xsd:string" /></message>
<message name="OTA_VehResNotifRS">
  <part name="Return" type="xsd:string" /></message>
<portType name="GoldcarPortType">
  <operation name="OTA_VehResNotifRQ">
    <documentation>This message will push reservation details to a trading partner. The information pushed may establish this reservation initially in a trading partner's database and/or update the information that currently exists.</documentation>
    <input message="tns:OTA_VehResNotifRQ"/>
    <output message="tns:OTA_VehResNotifRS"/>
  </operation>
</portType>
<binding name="GoldcarBinding" type="tns:GoldcarPortType">
  <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
  <operation name="OTA_VehResNotifRQ">
    <soap:operation soapAction="http://otatest.goldcar.es/#OTA_VehResNotifRQ" style="rpc"/>
    <input><soap:body use="encoded" namespace="http://otatest.goldcar.es/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></input>
    <output><soap:body use="encoded" namespace="http://otatest.goldcar.es/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></output>
  </operation>
</binding>
<service name="Goldcar">
  <port name="GoldcarPort" binding="tns:GoldcarBinding">
    <soap:address location="http://localhost/ota2sarg2/nuevo_server.php"/>
  </port>
</service>
</definitions>

XSD on是OTA_PayloadStdAttributes http://otatest.goldcar.es/OpenTravel_2015B_XML/OTA_VehResNotifRQ.xsd

验证程序显示错误 http://freeformatter.com/xml-validator-xsd.html

修改

添加验证器的所有WSDL,XSD和URL

1 个答案:

答案 0 :(得分:1)

OTA_PayloadStdAttributes在WSDL的XSD中无处可见;它必须位于您未显示的其中一个导入的XSD中。

  1. 找到引用OTA_PayloadStdAttributes属性组的XSD。
  2. 确定OTA_PayloadStdAttributes属性组的定义是否在XSD中,直接或间接引用它。
  3. 如果没有,请直接或间接添加缺失的定义(通过xsd:includexsd:import - what's the difference?)。
  4. 如果是,请检查引用的名称空间及其定义是否匹配。
  5. 具体而言,我们可能会发现您没有发布MCVE。