为了账号安全,请及时绑定邮箱和手机立即绑定

这个肥皂请求中缺少什么?

这个肥皂请求中缺少什么?

PHP
慕后森 2022-05-27 09:57:24
我正在尝试使用 SOAP API,这里是 WSDL:http ://clientes.tcc.com.co/servicios/informacionremesas.asmx?wsdl特别是该方法称为:ConsultarInformacionRemesasEstadosUEN问题是,当我使用名为 SoapUI 的程序发出请求时,我得到 200 响应,但是当我从我的 Laravel 项目中发出请求时,我得到一个错误。我究竟做错了什么?protected $pass ;    protected $url;    public function __construct($pass='APIKEY',$url="http://clientes.tcc.com.co/servicios/informacionremesas.asmx?wsdl")    {        $this->pass=$pass;        $this->url=$url;    }    public function test()    {        try{            $param=array('Clave'=>$this->pass,'numeroremesa'=>433654926,'unidadnegocio'=>1,'Respuesta'=>0);            $client = new SoapClient($this->url,array('trace'=>TRUE));            $response =$client->ConsultarInformacionRemesasEstadosUEN($param);            dd($client->__getLastRequest());            exit;            // $array= json_decode(json_encode($response),true);        }        catch(Exeption $fault){            return response()->json(['entro'=>'entro en la exepcion',"error"=>$fault->getMessage()],400);        }    }我收到以下 500 错误    "exception": "SoapFault",    "file": "C:\\xampp\\htdocs\\GirosYa\\app\\Http\\Controllers\\Api\\ExternalApis\\TccController.php",    "line": 35,    "trace": [        {            "file": "C:\\xampp\\htdocs\\GirosYa\\app\\Http\\Controllers\\Api\\ExternalApis\\TccController.php",            "line": 35,            "function": "__call",            "class": "SoapClient",            "type": "->"        },它使用 SoapUI 工作,所以我不确定该软件是否添加了标题或类似的东西,非常感谢您的帮助。
查看完整描述

1 回答

?
森栏

TA贡献1810条经验 获得超5个赞

根据该 WSDL 和错误消息,您似乎'numeroremesa'=>433654926,'unidadnegocio'=>1需要将其包装在一个数组中,该数组的主数组中的键是“remesas”。这意味着您$param应该如下所示:


$param=array('Clave'=>$this->pass,'remesas' => array('numeroremesa'=>433654926,'unidadnegocio'=>1),'Respuesta'=>0)

指示这一点的 WSDL 部分是:


<s:element minOccurs="0" maxOccurs="1" name="remesas" type="tns:ArrayOfRemesaUEN"/>

...


<s:element minOccurs="0" maxOccurs="unbounded" name="RemesaUEN" nillable="true" type="tns:RemesaUEN"/>

...


<s:complexType name="RemesaUEN">

<s:sequence>

<s:element minOccurs="0" maxOccurs="1" name="numeroremesa" type="s:string"/>

<s:element minOccurs="0" maxOccurs="1" name="unidadnegocio" type="s:string"/>

</s:sequence>

</s:complexType>

指示这一点的错误消息部分是:


在 ServiciosWeb.InformacionRemesas.ConsultarInformacionRemesasEstadosUEN(String Clave, List 1 remesas, List1& remesasrespuesta, Int32& Respuesta, String& Mensaje)


注意为函数显示的参数列表


查看完整回答
反对 回复 2022-05-27
  • 1 回答
  • 0 关注
  • 122 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号