php - 如何将 arrayOfString 数据类型放入 php 关联数组中

标签 php web-services

我正在学习 php,试图从 wsdl 服务获取数据。我从中请求数据的服务方法需要两个参数,其中一个需要 arrayOfstring 类型。因此,我需要以某种方式将类似 ACCT_ID[0] 的值传递给 soapClient 方法。以下是该方法需要的参数:

<s:sequence>
    <s:element minOccurs="0" maxOccurs="1" name="ACCT_ID" type="tns:ArrayOfString"/>
    <s:element minOccurs="1" maxOccurs="1" name="UserNumber" type="s:long"/>
    </s:sequence>

ACCT_ID 需要通过 PHP soapclient 传递给它的 arrayOfString 类型。我坚持这是如何完成的。这是我目前所处的位置:

$client = new soapClient('http://webservice/accountdata.asmx?wsdl', array('trace' => 1));

    //method paramaters
    $user_num = 20;

    $acct_id = "98765431654654654656, 44986532156469898442";
    $ACCT_ID = explode(" ", $acct_id);

    $params = array("ACCT_ID" => $ACCT_ID[0], "UserNumber" => $user_num);


    $response = $client->Account_Data($params);

所以我得到了带有方法 Account_Data 的 soapClient 对象,我将 $params 传递给它。我已经使用 Storm 工具使用这些参数对其进行了测试,并且确实获得了正确的 xml 响应。我可以在浏览器源代码中看到 UserNumber 被发送到网络服务,而不是 ACCT_ID[0]。我已经尝试了各种各样的事情,但我不确定从这里去哪里。如何通过 php 将 arrayOfString 类型参数传递给 webservice?谢谢!

最佳答案

将参数转换为json字符串。

$acct_id = array(806796224000,000000000000);
$ACCT_ID = json_encode($acct_id);

关于php - 如何将 arrayOfString 数据类型放入 php 关联数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23971569/

相关文章:

php - 是否可以在不使用Flash的情况下实现HTML的翻页效果?

php - 如何在一台服务器上使用 Vue.js 和 PHP?

php - 使用变体在 PHP 中构建字节数组?

php - Yii2:Kartik Gridview 导出配置?

Android 市场统计 API?

ios - 从 iOS 和 JSON 解析调用 ASP.NET webmethod

c# - 服务引用错误-使用MessageContractAttribute和其他类型的参数进行操作

java - 如何通过json获取sendgrid API中的SMTP-ID?

php - codeigniter 文件未上传到远程服务器

web-services - 音频流服务器