Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

noliveira.renato

Consumir webservice enviando uma array

Recommended Posts

Boa tarde galera,

 

Estou precisando de uma ajuda pra consumir um webservice.

 

O webservice que vou consumir precisa receber um array com alguns dados de cotações, a estrutura é essa abaixo:

 

tenho que montar essa tag cotacoes, depois aretcot e ai sim inserir os registro dentro dessa tag cots

 

lembrando que preciso mandar mais de um registro e também não sei exatamente como fazer isso, tentei adicionar tudo numa array e mandar mas também não funcionou.

 

fiz da forma abaixo mas da esse erro: atal error: Uncaught SoapFault exception: [sender] WEBSERVICE ERROR : Argument Missing : Required field ARETCOT not found. in C:\xampp\htdocs\sendcots.php:37 Stack trace: #0 C:\xampp\htdocs\sendcots.php(37): SoapClient->__soapCall('UPDCOT', Array) #1 {main} thrown in C:\xampp\htdocs\sendcots.php on line 37

 

$client = new SoapClient ( "http://187.50.7.74:90/WSRETCOT.apw?WSDL" );

$function = 'UPDCOT';
$arguments = array (
'Logar' => array (
'_CLOGIN' => $_SESSION ['user'],
'_CPASSWORD' => $_SESSION ['pass'],
'COTACOES' => array ( 'ARETCOT' => array (
'CEMP' => "SP" ,
'CSTATUS' => "P",
'NREGISTRO' => 11111
)
)));

 

Requisição SOAP transparente.giftransparente.gif
<?xml version="1.0" encoding="utf-8"?"
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<COTACOES>
<ARETCOT>
<COTS>
<CEMP>STRING</CEMP>
<CSTATUS>STRING</CSTATUS>
<NREGISTRO>FLOAT</NREGISTRO>
</COTS>
<COTS>
<CEMP>STRING</CEMP>
<CSTATUS>STRING</CSTATUS>
<NREGISTRO>FLOAT</NREGISTRO>
</COTS>

</ARETCOT>
</COTACOES>
<_CLOGIN>STRING</_CLOGIN>
<_CPASSWORD>STRING</_CPASSWORD>
</soap:Body>
</soap:Envelope>

 

 

Quer puder dar essa força, agradeço.

 

Muito obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você precisa fazer a leitura do WSDL, utilize o SoapUI para lhe auxiliar. No erro já é informado que o campo obrigatório ARETCOT não foi informado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por ILR master
      Boa tarde, pessoal.
      Espero que todos estejam bem.
       
      Seguinte:
      Tenho a seguinte consulta:
       
      $usuarios= "SELECT * FROM usuarios";
      $query= mysqli_query($conexao, $usuarios) or die ("Usuário não encontrado");
      $usuario = mysqli_fetch_array($query);
       
      Quero pegar apenas o campo 'nome' da tabela 'usuarios' e colocar todos os resultados da seguinte forma:
       
      $nomes = array("Rafael", "João", "Maria", "Pedro", "Patricia", "Camila");
       
      Agradeço desde já.
      Abs
       
       
    • Por mateus.andriollo
      Existe uma forma de fazer um IF na select e comparar com Array de dados?
       
      algo como
       
      Select if( in_array(idCliente,'1,2,3,4,5')=true,'Tem','Não') ) as cliente Não consigo usar inner ou where pois esse array é algo q tem varias regras...
       
      Precisava saber se existe uma função assim em MySQL
    • Por mateus.andriollo
      Existe uma forma de fazer um IF na select e comparar com Array de dados?
       
      algo como
       
      Select if( in_array(idCliente,'1,2,3,4,5')=true,'Tem','Não') ) as cliente Não consigo usar inner ou where pois esse resultado do array é algo q tem varias regras...
       
      Precisava saber se existe uma função assim em MySQL
    • Por clovis.sardinha
      Bom dia.
      Meu problema é o seguinte:
      Estou fazendo uma tabela e preciso mostrar o usuário e várias cidades que pertencem a este usuário.
      O resultado do array é o seguinte:

      Quando passo para a tabela os valores de cidade se repetem para o mesmo usuário até o final e retorna fazendo o mesmo para o próximo usuário. 
      Veja abaixo

       
      Meu código para a tabela é a seguinte:
      <tr> <td align="left"><?php echo $usuario['nome'] ?></td> <td align="left"><?php echo $usuario['nome_orgao'] ?></td> <td align="left"><?php echo $usuario['nome_funcao'] ?></td> <?php foreach($destinos as $key=>$destino):?> <?php $key=0;?> <td align="left"> <?php foreach($destino as $chave=> &$cidade): ?> <?php echo $cidade['cid_nome']."-";?> <?php endforeach;?> </td> <?php $key+=$key; ?> <?php endforeach;?> <td><?php echo date('d/m/Y', strtotime( $usuario['created_at'])) ?></td> <td align="left"><a href="<?php echo base_url('UserAdmin/Usuario/getUsuarioById')."/".$usuario['id_user'] ?>">DETALHES</a></td> </tr> <?php endforeach ?> Onde estou errando? O que tenho de fazer para percorrer este array de modo a aparecer apenas as cidades pertencentes a cada usuário?

    • Por Giovanird
      Listo um array pelo foreach e preciso pegar os valores fora do foreach.
      Abaixo tenho o exemplo do foreach com os valores
       
      <?php foreach($turma $rsturma): if(($rsturma['id'] == 1){ echo $rsturma['nome']."<br>"; echo $rsturma['idade']."<br><br>"; } endforeach; //Dentro do foreach me retorna: Luis 13 Maria 12 Carlos 12 Matheus 14 Andréa 12 //Preciso pegar a posição e o valor desta lista $posicao1 = 1; $nome1 = Luis; $posicao2 = 2; $nome2 = Maria; $posicao3 = 3; $nome3 = Carlos; $posicao4 = 4; $nome4 = Matheus; $posicao5 = 5; $nome5 = Andréa;  
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.