2016-07-08 51 views
0

我需要在PHP改造上面的調用和特殊性是,在調用它是強制性的,以具有相同的參數3個PARAMS:PHP SoapClient的通話PARAMS

<v20:searchItem> 
     <!--Optional:--> 
     <arg0>customer_id</arg0> 
     <arg1>table_name</arg1> 
     <arg3><field_name>Barcode</field_name><value>record_id</value></arg3> 
     <arg3><field_name>DOC_DATE min</field_name><value>date_min</value></arg3> 
     <arg3><field_name>DOC_DATE max</field_name><value>date_max</value></arg3> 
     <arg4></arg4> 
     <arg5>0</arg5> 
     <arg6>1000</arg6> 
     </v20:searchItem> 

我的代碼是:

$myParams1 = array('field_name' => 'Barcode', 
            'value' => $barcode); 
$myParams2 = array('field_name' => 'DOC_DATE min', 
            'value' => $datai); 
$myParams3 = array('field_name' => 'DOC_DATE max', 
            'value' => $newdate); 
$params = array(
    "arg0" => $sasAliasSP, 
    "arg1" => $sasAliasDA, 
    "arg2" => "", 
    "arg3" =>$myParams1, 
    "arg3" =>$myParams2, 
    "arg3" =>$myParams3, 
    "arg4" => "", 
    "arg5" => "0", 
    "arg6" => "1000" 
); 

但不工作,請你幫忙。 謝謝

回答

0

我終於找到了這個帖子的解決方案:https://stackoverflow.com/a/19774498/6564057

ARG3需要與從0開始上升數組中的鍵,所以我的代碼現在是:

$myParams[] = array('nome_Campo' => 'Barcode', 'valore' => $barcode); 
$myParams[] = array('nome_Campo' => 'DOC_DATE min', 'valore' => $datai); 
$myParams[] = array('nome_Campo' => 'DOC_DATE max', 'valore' => $newdate); 

$params = array(
    "arg0" => $sasAliasSP, 
    "arg1" => $sasAliasDA, 
    "arg2" => "", 
    "arg3" => $myParams, 
    "arg4" => "", 
    "arg5" => "0", 
    "arg6" => "1000" 
); 

它的工作原理就像是魅力。 非常感謝。

0

試試這個:

$params = array(
    "arg0" => $sasAliasSP, 
    "arg1" => $sasAliasDA, 
    "arg2" => "", 
    "arg3" => array($myParams1, $myParams2, $myParams3), 
    "arg4" => "", 
    "arg5" => "0", 
    "arg6" => "1000" 
); 
+0

非常感謝,我已經嘗試過,但它仍然無法工作,因爲它們的參數在三個不同的行上,並且此解決方案給出了一個「arg3」 – Annamaria

+0

在您的問題中發佈了'__getLastRequest()'的結果。 –

+0

對不起,我無法得到最後一個請求,我不認爲他們有安全原因追蹤選項。任何其他建議? – Annamaria