Envio de parâmetros array via Nusoap
Pessoal,
Um serviço precisa receber a seguinte estrutura:
<soapenv:Envelope ........>
<soapenv:Header/>
<soapenv:Body>
<ser:Teste>
<ser:usuario>XXXXX</ser:usuario>
<ser:senha>XXXX</ser:senha>
<ser:id>XXX</ser:id>
<ser:data>XXXXXX</ser:data>
<ser:cpf>XXXXXX</ser:cpfSupervisor>
<!--1 or more repetitions:-->
<ser:resposta>
<dto:desc>XXXXXX</dto:desc>
<dto:id>XXXXXX</dto:id>
<dto:resposta>XXXXXX</dto:resposta>
</ser:resposta>
</ser:Teste>
</soapenv:Body>
</soapenv:Envelope>O problema está na quantidade de respostas a serem enviadas (<!--1 or more repetitions:-->), pois os parâmetros estão sendo enviados por array via NUSOAP.
Exemplo:
$this->params = array(
'usuario' => usuarioWS,
'senha' => senhaWS,
'id' => $id,
'data' => $P[data],
'cpf' => $P[cpf],
);
foreach($P[respostas] as $indice => $respostas){
$this->params['resposta']['id'] = $respostas[id];
$this->params['resposta']['desc'] = $respostas[desc];
$this->params['resposta']['resposta'] = $respostas[resposta];
}
$this->nomeMetodo = "Teste";
$result = $this->call($this->nomeMetodo, $this->params);
Não posso enviar valores diferentes para uma mesma chave de array, como estou fazendo no laço foreach. Esta é a ideia que eu tinha para enviar respostas diferentes, porém é inviável.
Como resolver esta situação? Pelo NUSOAP tem como enviar o XML montado ou tenho que obrigatoriamente enviar como um array?
Discussão (15)
Carregando comentários...