2012-08-31 7 views
6

mam WSDL,php mydła maxOccurs = nieograniczone

<xs:complexType name="merchantDetails"><xs:sequence> 
<xs:element maxOccurs="unbounded" minOccurs="0" name="did" nillable="true" type="xs:string"/> 
<xs:element maxOccurs="unbounded" minOccurs="0" name="flowid" nillable="true" type="xs:string"/> 

próbuję wysłać tablicę następująco (var_dump).

object(merchantDetails)#3 
    ["did"]=> 
    array(1) { 
    [0]=> 
    string(8) "81985801" 
    } 
    ["flowid"]=> 
    array(1) { 
    [0]=> 
    string(16) "MerchantMOTOMID1" 
    } 

Ale __getLastRequest wyjściowy nie wykazują żadnych znacznik do zrobił lub flowID.

Prosimy o pomoc w przypadku wysyłania niezwiązanych danych.

+4

Będziesz potrzebować aby dostarczyć więcej informacji - WSDL może pomóc, jak również twój kod zgłoszenia i dokładny błąd, który otrzymujesz. – ernie

Odpowiedz

0

ustawić maxOccurs jak ograniczonym

być dokładne, proszę pisać swój pełny kod źródłowy

1

obserwuję powinno wystarczyć jeśli czytam poprawnie WSDL-instrukcji. Delegowanie pożądany SOAP żądanie byłoby bardzo pomocne ...

$param = array(
    'did'=>'81985801', 
    'flowid'=>'MerchantMOTOMID1' 
) 


$soap_instance->merchantDetails($param); 

lub

$param = new stdObject(); 
$param->did = '81985801'; 
$param->flowid = 'MerchantMOTOMID1'; 

$soap_instance->merchantDetails($param); 

albo jeden z nich nie zostały przetestowane ...

0
//You should try to send like this 

$arOperationFilter = array(
    'did' => array('81985801','81985802','...') 
); 


$client = new SoapClient($your_url, $arSoapOptions); 

$result = $client->yourSoapOperation($arOperationFilter); 
+2

Witaj Siergiej. Dziękuję za Twój wkład, ale proszę, wyjaśnij, o co chodzi i dlaczego Twój kod go rozwiązuje. Odpowiedzi Code-olny nie są zachęcane. – Vincent

+0

** Dobra odpowiedź ** zawsze zawiera wyjaśnienie, co zostało zrobione i dlaczego zostało wykonane w taki sposób, nie tylko dla PO, ale dla przyszłych odwiedzających SO. –