0

こんにちは皆さん、私は PHP で SOAP リクエストを実行しようとしていますが、残念ながら、常に「間違ったバージョン」というエラーが返されます。

私のリクエストは次のようになります。

<?php
$option=array('trace'=> true, 'cache_wsdl' => WSDL_CACHE_NONE, 'soap_version' => SOAP_1_2,     'exeptions' => true,);

$soapClient=new SoapClient('http://www.SOMEURL.net/SOAPAPI/HEX_XMLIF_1_1_0-0?wsdl',$option);
$soapClient->__setLocation('http://www.SOMEURL.net/SOAPAPI/HEX_XMLIF_1_1_0-0');
try{
$parameters = array(
                'Version' => '1.1.0',
                'TransactionIdentifier' => 'X4711',
                'TimeStamp' => '2013-10-24T16:56:10',
                'Target' => 'Test',
                'POS' => array (
                       'Source' => array(
                              'RequestorID' => array(
                                    'ID' => '709900001',
                                    'ID_Context' => '1234',
                                    'ID_Operator' => 'BJT',
                                    'ID_Token' => '135975505',
                                    'ID_Key' => 'znt'),
                              'ISOCurrency' => 'EUR',
                              'ISOCountry' => 'DE'),
                              ),
                'CarPark' => array(
                       'Code' => 'FRA8')
                );

$soapClient->CarParkInformation($parameters);

}catch(SoapFault $fault){

  echo '<br/><br/> Error Message : <br/>',
  $fault->getMessage();
  echo '<br/><br/>'; 
  echo 'Request : <br/><xmp>',
  $soapClient->__getLastRequest();
  echo '</xmp><br/> Response : <br/><xmp>',
  $soapClient->__getLastResponse();}
?> 

WSDL ファイルに付属のドキュメントによると、私の要求は問題ありません。私が欠けているのはヘッダーだけです。ドキュメントのヘッダーが空です ("")-> リクエストに空のヘッダーを追加する方法がわかりません。それがバージョンエラーの理由ではないと思います...?

作成されるリクエストは次のようになります。

<?xml version="1.0" encoding="UTF-8"?> 
        <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="de.znt.hexapi">
            <SOAP-ENV:Body>
                <ns1:GetCarParkInformationRQ>
                    <ns1:Version>1.1.0</ns1:Version>
                    <ns1:TransactionIdentifier>X4711</ns1:TransactionIdentifier>
                    <ns1:TimeStamp>2013-10-24T16:56:10</ns1:TimeStamp>
                    <ns1:Target>Test</ns1:Target>
                    <ns1:POS>
                        <ns1:Source>
                            <ns1:RequestorID>
                                <ns1:ID>709900001</ns1:ID>
                                <ns1:ID_Context>1234</ns1:ID_Context>
                                <ns1:ID_Operator>BJT</ns1:ID_Operator>
                                <ns1:ID_Token>135975505</ns1:ID_Token>
                                <ns1:ID_Key>znt</ns1:ID_Key>
                            </ns1:RequestorID>
                            <ns1:ISOCurrency>EUR</ns1:ISOCurrency>
                            <ns1:ISOCountry>DE</ns1:ISOCountry>
                        </ns1:Source>
                    </ns1:POS>
                    <ns1:CarPark>
                        <ns1:Code>FRA8</ns1:Code>
                    </ns1:CarPark>
                </ns1:GetCarParkInformationRQ>
            </SOAP-ENV:Body>
        </SOAP-ENV:Envelope>

「間違ったバージョン」エラーが発生する理由がわかりません。1.1 と 1.2 で試し、数日間テストしてきました。誰も何をすべきか手がかりを持っていますか?

4

1 に答える 1

3

問題は修正済み - 間違ったエンドポイントを使用していました。

于 2013-10-30T15:54:43.710 に答える