使用 SOAP 在 WCF 中传递对象列表 PHP
Passing List of Object in WCF Using SOAP PHP
如何使用 soap 在 wcf web 服务中传递对象列表 php。
在我的 wcf 网络服务中。我有这个操作合约叫。
//interface.cs
[OperationContract]
List<ResponseObj> OperationContractMethod( List<RequestObj> Request );
//RequestObj.cs
public class RequestObj {
public string param1 {get;set;}
public string param2 {get;set;}
...
}
在我的 php 客户中。
$this->soapClient = new SoapClient($soap_address);
$params = array();
foreach( $array_obj as $obj){
array_push($params, array('param1'=>$obj->param1, 'param2'=> $obj->param2));
}
$this->soapClient->OperationContractMethod($params);
当我显示 $params
时,它看起来像这样
dd( $params );
array:13 [▼
0 => array:2 [▼
"param1" => "string"
"param2" => "string"
]
1 => array:2 [▶]
2 => array:2 [▶]
3 => array:2 [▶]
...
]
Request
参数在OperationContractMethod
方法中计数null
PS:顺便说一句,OperationContractMethod 在我的 WCFClient 中运行良好。
基本上我们应该包括对象的参数名称;
正确的方法是在将对象添加到数组时添加参数名称 $params["Request"]
(在本例中为 Request
)。
应该是这样。
foreach( $array_obj as $obj){
array_push($params["Request"], array('param1'=>$obj->param1, 'param2'=> $obj->param2));
}
obj 列表在我们的 var_dump 中应该如下所示。
"Request" => array:13 [▼
0 => array:2 [▶]
1 => array:2 [▶]
2 => array:2 [▶]
...
]
PS。任何人,请随时添加我想念的东西
如何使用 soap 在 wcf web 服务中传递对象列表 php。
在我的 wcf 网络服务中。我有这个操作合约叫。
//interface.cs
[OperationContract]
List<ResponseObj> OperationContractMethod( List<RequestObj> Request );
//RequestObj.cs
public class RequestObj {
public string param1 {get;set;}
public string param2 {get;set;}
...
}
在我的 php 客户中。
$this->soapClient = new SoapClient($soap_address);
$params = array();
foreach( $array_obj as $obj){
array_push($params, array('param1'=>$obj->param1, 'param2'=> $obj->param2));
}
$this->soapClient->OperationContractMethod($params);
当我显示 $params
时,它看起来像这样
dd( $params );
array:13 [▼
0 => array:2 [▼
"param1" => "string"
"param2" => "string"
]
1 => array:2 [▶]
2 => array:2 [▶]
3 => array:2 [▶]
...
]
Request
参数在OperationContractMethod
方法中计数null
PS:顺便说一句,OperationContractMethod 在我的 WCFClient 中运行良好。
基本上我们应该包括对象的参数名称;
正确的方法是在将对象添加到数组时添加参数名称 $params["Request"]
(在本例中为 Request
)。
应该是这样。
foreach( $array_obj as $obj){
array_push($params["Request"], array('param1'=>$obj->param1, 'param2'=> $obj->param2));
}
obj 列表在我们的 var_dump 中应该如下所示。
"Request" => array:13 [▼
0 => array:2 [▶]
1 => array:2 [▶]
2 => array:2 [▶]
...
]
PS。任何人,请随时添加我想念的东西