2016-04-25 7 views
2

私はnuSoap(PHP)を使用してSOAPサーバーを持っていますが、xsdをインポート/インクルードしようとしていますが、次のエラー:Src-resolve:名前 'OTA_PayloadStdAttributes'をA(n) '属性グループ'に解決できない

Src-resolve: Cannot Resolve The Name 'OTA_PayloadStdAttributes' To A(n) 'attribute Group' Component.

<?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> 

エラーを示すよりOTA_PayloadStdAttributes http://otatest.goldcar.es/OpenTravel_2015B_XML/OTA_VehResNotifRQ.xsd

あるバリデータにXSDhttp://freeformatter.com/xml-validator-xsd.html

編集

+0

あなたは[mcve]を投稿する必要があります。 – kjhughes

+0

あなたの編集は[mcve]の作成に近づくことさえありません。 – kjhughes

答えて

1

OTA_PayloadStdAttributesはあなたのWSDL内のXSDにどこにも表示されませんバリのすべてのWSDL、XSDおよびURLを追加します。インポートされたXSDの1つに含まれている必要があります。

  1. OTA_PayloadStdAttributes属性グループを参照するXSDを検索します。
  2. OTA_PayloadStdAttributes属性グループの定義が直接的または間接的に参照されるXSD内にあるかどうかを判断します。
  3. そうでない場合は、欠落している定義を直接または間接的に(xsd:includeまたはxsd:import - what's the difference?を介して)追加します。
  4. その場合は、参照とその定義の名前空間が一致することを確認してください。

これは、あなたがMCVEを投稿していないことを示すことができるほど具体的です。

+0

私はテストしてきましたが、まだ解決策を見つけることができます。あなたが解決策を見つけるのを助けることができるなら、私は実際のコードを追加しました。 –

+0

私はあなたの質問にコメントで言及したように、あなたは余分な材料をぬぐう助けとなる人に尋ねるのではなく、[mcve]を作成するべきです。あなたはまた、将来の読者のためにそれ自身の立場に立つ質問を作成することを義務づけられています。 – kjhughes

関連する問題