首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在PHP中使用不同类型的参数创建SOAP请求

在PHP中使用不同类型的参数创建SOAP请求
EN

Stack Overflow用户
提问于 2015-02-26 09:31:02
回答 1查看 59关注 0票数 0

我试图使用PHP发出SOAP请求,而且我似乎无法分离我需要与调用一起发送的参数。我可以通过SOAP测试工具使用该服务,我正在使用的代码片段(删除了ccn3和ccn2 ):

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <soap:Body>
    <tns:GetUser>
      <tns:auth>
        <ccn3:Username>testuser</ccn3:Username>
        <ccn3:Password>testpass</ccn3:Password>
        <ccn3:AuthID>55125621</ccn3:AuthID>
      </tns:auth>
      <tns:user>
        <ccn2:Address>Testvägen 1</ccn2:Address>
        <ccn2:CustNo/>
        <ccn2:FirstName/>
        <ccn2:LastName/>
        <ccn2:SSN>1234567890</ccn2:SSN>
      </tns:user>
    </tns:GetUser>
  </soap:Body>
</soap:Envelope>

这样做是可行的,并从服务中给出了所需的答案。但是,当通过php连接到它时,不会。我目前使用的php代码如下:

代码语言:javascript
复制
<?php
    $username = "testuser";
    $password = "testpass";
    $authID = 55125621;


    $client = new SoapClient("https://url/service.svc?wsdl");
    $param = array(
        'Username'=>$username,
        'Password'=>$password,
        'AuthID'=>$AuthID,
        'Address'=>'Testvägen 1',
        'SSN'=>'1234567890',
        'FistName'=>'',
        'LastName'=>''
        );
    $res = $client->GetUser($param);

    echo "<pre>";
    print_r($res);
    echo "</pre>";
?>

在我的XML查询中,我使用两个“组”参数。我向我的ccn3 (tns: auth )发送auth数据,向ccn2 (tns:user)发送数据。我猜这是我的问题,但是如何在php中实现这种分离呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-02-26 09:47:43

试试这个:

代码语言:javascript
复制
$params = array(
        'auth' => array(
                    'Username' => $username,
                    'Password' => $password,
                    'AuthID' => $AuthID,
        ),
        'user' => array(
                    'Address' => 'Testvägen 1',
                    'SSN' => '1234567890',
                    'FistName' => '',
                    'LastName' => ''
        ));

        $res = $client->GetUser($params);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28738711

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档