2012-08-31 39 views
6

Tôi có WSDL,xà phòng maxOccurs php = vô biên

<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"/> 

Tôi cố gắng để gửi mảng như sau (var_dump).

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

Nhưng đầu ra __getLastRequest không hiển thị bất kỳ thẻ nào đã làm hoặc flowID.

Vui lòng trợ giúp trong trường hợp gửi dữ liệu không liên kết.

+4

Bạn sẽ cần để cung cấp thêm thông tin - WSDL có thể trợ giúp, cũng như mã gửi của bạn và lỗi chính xác bạn đang nhận được – ernie

Trả lời

0

thiết lập maxOccurs như giáp

để được chính xác, xin vui lòng gửi toàn bộ mã nguồn của bạn

1

Tiếp theo nên làm các trick nếu tôi đọc WSDL-hướng dẫn một cách chính xác. Đăng mong muốn SOAP yêu cầu sẽ rất hữu ích ...

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


$soap_instance->merchantDetails($param); 

hoặc

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

$soap_instance->merchantDetails($param); 

hoặc là một trong số họ đã không được thử nghiệm ...

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

Xin chào Sergei. Cảm ơn sự đóng góp của bạn nhưng xin vui lòng, giải thích vấn đề là gì và tại sao mã của bạn giải quyết nó. Câu trả lời mã-olny không được khuyến khích. – Vincent

+0

Một ** câu trả lời hay ** sẽ luôn luôn có giải thích về những gì đã được thực hiện và tại sao nó được thực hiện theo cách như vậy, không chỉ cho OP mà đối với khách truy cập trong tương lai đối với SO. –

Các vấn đề liên quan