1

助けてくれますか、正しい方向に向けてくれますか? WSDL フィードに対して SOAP 要求を実行しようとしていますが、何も返されません。

標準の XML を使用すると、すべて正常に動作するように見えます。次の内容を配列に書き込む方法は次のとおりです。

<?xml version="1.0" encoding="utf-8"?> 
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body> 
<SupplierDirectorySearch xmlns="SOAPREQUEST"> 
<SupplierSearchDetails ClassVersion="1.0"> 
<Identification> 
<SchemeOperatorRef>59582</SchemeOperatorRef> 
<SecurityToken>MYTOKEN</SecurityToken>
</Identification>
  <ApprovedServices ServiceRepair="Y" MOT="" Tyres="" CollectionDelivery="" CourtesyCar="" WhileUWait="" Callout24Hour="" BreakdownCover="" CollectionDeliveryNotes="" CourtesyCarNotes="" Inspections=""/>
  <SupplierLocation>BB1</SupplierLocation> 
  <SearchRadiusMiles>300</SearchRadiusMiles> 
  <Preference>P</Preference> 
  <MaxReturnNumber>5</MaxReturnNumber> 
  <PageNo>0</PageNo> 
 </SupplierSearchDetails> 
 </SupplierDirectorySearch> 
</soap:Body> 
</soap:Envelope>';

次の石鹸リクエストを書きました。

$client = new SoapClient("URL?WSDL", $option);
$res = $client->SupplierDirectorySearch(
array('SupplierSearchDetails'=> 
  array('Identification' => array('SchemeOperatorRef'=>'61', 'SecurityToken'=>'MYTOKEN'),
    'ApprovedServices' => array(
    'ServiceRepair'=>'Y',
    'MOT'=>'',
    'Tyres'=>'',
    'CollectionDelivery'=>'',
    'CourtesyCar'=>'',
    'WhileUWait'=>'',
    'Callout24Hour'=>'',
    'BreakdownCover'=>'',
    'CollectionDeliveryNotes'=>'',
    'CourtesyCarNotes'=>'',
    'Inspections'=>'',
      ),  
    'SupplierLocation' => 'BB1',
    'SearchRadiusMiles' => '2',
    'Preference' => 'P',
    'MaxReturnNumber' => '5',
    'PageNo' => '0'
  )
  )
);

何も戻ってきません。トレースを有効にしました。これがリクエストで渡されるものです。

REQUEST:
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"    xmlns:ns1="OneLink_ServiceBookingComponent">
<SOAP-ENV:Body><ns1:SupplierDirectorySearch>            
<ns1:SupplierSearchDetails>
<ns1:Identification>
 <ns1:SchemeOperatorRef>61</ns1:SchemeOperatorRef>
 <ns1:SecurityToken>MYTOKEN</ns1:SecurityToken>
</ns1:Identification>  

<ns1:SupplierLocation>BB1</ns1:SupplierLocation>
<ns1:SearchRadiusMiles>2</ns1:SearchRadiusMiles>
<ns1:Preference>P</ns1:Preference> 
<ns1:ApprovedServices ServiceRepair="Y" MOT="" Tyres="" CollectionDelivery=""  CourtesyCar="" WhileUWait="" Callout24Hour="" BreakdownCover="" CollectionDeliveryNotes="" CourtesyCarNotes="" Inspections=""/>
<ns1:MaxReturnNumber>5</ns1:MaxReturnNumber>
<ns1:PageNo>0</ns1:PageNo>
</ns1:SupplierSearchDetails>
</ns1:SupplierDirectorySearch>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

誰でもこれに光を当てることができますか、それは私の頭を悩ませています!!


私はちょうど探していましたが、次のようにセクションをコーディングする必要があると思いますか:

<?php 
  $amount['_'] = 25; 
  $amount['currencyId'] = 'GBP'; 
  $encodded = new SoapVar($amount, SOAP_ENC_OBJECT); 

?>

スコット

4

0 に答える 0