我知道这类问题已被多次询问过。我花了几个小时阅读并尝试提供的解决方案 - 但似乎没有一个适用于我的情况。
我需要向一个API发送一个SOAP请求,该API可以包含一个像这样重复的元素:
<operationNumbers>
<operationNumber>1234</operationNumber>
<operationNumber>1235</operationNumber>
<operationNumber>1236</operationNumber>
<operationNumber>1237</operationNumber>
</operationNumbers>
我确实读过,也许我可以这样做:
$buildRequest = Array(
'myheader' => Array(
'date' => MY_DATE,
'id' => Array(
'client' => CLIENT,
'clientRef' => MYREF
)
),
'operationNumbers' => Array (
Array('operationNumber' => '1234'),
Array('operationNumber' => '1235')
)
);
$request = $client->__soapCall( 'getMultiOpDets', array($buildRequest) );
遗憾的是,如果我发送一个操作号码,这不会起作用并导致“无效请求”,例如:
...
'operationNumbers' => Array (
'operationNumber' => '1234'
)
...
请求成功。我尝试过soapVars / soapParams,但是使用这种方法无法使用它。任何提示/提示/帮助赞赏。
答案 0 :(得分:5)
所以,我解决了。
$operationNumbersArray = array('1234','1235');
...
'operationNumbers' => array(
'operationNumber' => $operationNumbersArray
)
在我的测试和摆弄期间,我无意中删除了另一个必须的值。 API没有发出遗漏(遗憾的是)。
答案 1 :(得分:3)
以下是我使用的代码:
~/Homestead: vagrant box update
==> homestead-7: Checking for updates to 'laravel/homestead'
homestead-7: Latest installed version: 2.1.0
homestead-7: Version constraints: >= 1.0.0
homestead-7: Provider: virtualbox
There was an error while downloading the metadata for this box.
The error message is shown below:
The requested URL returned error: 401 Unauthorized