php soapclient 调用参数

php soapclient call params

我需要在php中转换上面的调用,特殊之处在于在调用中必须在同一个参数中包含三个参数:

<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"
);

但是不工作,请你帮忙。 谢谢

试试这个:

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

我终于在这个post中找到了解决方案:

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"
);

而且效果很好。 非常感谢。