Ir para conteúdo
Fórum Script Brasil
  • 0

SOAP Client não se conecta ao webservice


Vinícius (Porco)

Pergunta

Sou iniciante em php e estou tendo dificuldades para conectar num webservice feito em java através do SOAP, segue o código e o erro apresentado:

Código:

<?php 
include_once 'MessageInBulk.php'; 
include_once 'PhoneInBulk.php'; 
include_once 'MessageInBulkResponse.php'; 
include_once 'PhoneInBulkResponse.php'; 




echo "Tipo: ".$_POST[tipo]; 
echo "<br />"; 
echo "Mensagem: ".$_POST[mensagem]; 
echo "<br />"; 
echo "Arquivo: ".$_POST[arquivo]; 
echo "<br />"; 
echo "Assunto: ".$_POST[assunto]; 
echo "<br />"; 
echo "Imagem E-Mail: ".$_POST[imagemEmail]; 
echo "<br />"; 
echo "Rementente Nome: ".$_POST[remetenteNome]; 
echo "<br />"; 
echo "Rementente Dados: ".$_POST[remetenteDado]; 
echo "<br />"; 
echo "Destinatario Nome: ".$_POST[destinatarioNome]; 
echo "<br />"; 
echo "Destinatario Dados: ".$_POST[destinatarioDado]; 
echo "<br />"; 
echo "<br />"; 
echo "<br />"; 
echo "<br />"; 

$login = "admin"; 
$password = "admin"; 
$idProject = 9; 
$objPhone1 = new PhoneInBulk(null, $_POST[destinatarioDado]); 
$listaObjPhone = array(); 
$listaObjPhone[0] = $objPhone1; 

$mensagem = $_POST[mensagem]; 
$mensagem = str_replace("#dest#", " ".$_POST[destinatarioNome], $mensagem); 
$mensagem = str_replace("#remet#", $_POST[remetenteNome], $mensagem); 
$objMesssage1 = new MessageInBulk(null, $listaObjPhone, $mensagem); 

$listaObjMessage = array(); 
$listaObjMessage[0] = $objMesssage1; 


$i = 0; 

foreach ($listaObjMessage as $value) { 
echo "Objeto: ".$i; 
echo "<br />"; 
echo "&nbsp;&nbsp;&nbsp;&nbsp;Menssagem texto: ".$value->getTextMessage(); 
echo "<br />"; 
echo "&nbsp;&nbsp;&nbsp;&nbsp;Data: ".$value->getDateSchedule(); 
echo "<br />"; 
echo "&nbsp;&nbsp;&nbsp;&nbsp;Lista de Telefones: Qtde(".count($value->getlistPhone()).")"; 
echo "<br />"; 
$i2 = 0; 
foreach ($value->getlistPhone() as $value2) { 
echo "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Telefone ".$i2; 
echo "<br />"; 
echo "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Nº Telefone: ".$value2->getPhone(); 
echo "<br />"; 
echo "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Data: ".$value2->getDateSchedule(); 
echo "<br />"; 
$i2++; 
} 
echo "<br />"; 
echo "<br />"; 
$i++; 
} 

$url = "http://200.182.98.153:8083/smsIntegrationCenter/soap/messageService?wsdl"; 

$client = new SoapClient($url); 
$param=array('messages'=>$listaObjMessage,'idProject'=>$idProject,'login'=>$login,'password'=>$password); 

$result = $client->__soapCall("SendMessageInBulk", $param); 

echo $result; 
?>

Erro:

Tipo: 1

Mensagem: Olá #dest#, esta notícia foi enviada por #remet#. Parabéns, e muitas felicidades!

Arquivo:

Assunto:

Imagem E-Mail:

Rementente Nome: teste

Rementente Dados: 4391427036

Destinatario Nome: teste

Destinatario Dados: 4391427036

Objeto: 0

Menssagem texto: Olá teste, esta notícia foi enviada por teste. Parabéns, e muitas felicidades!

Data:

Lista de Telefones: Qtde(1)

Telefone 0

Nº Telefone: 4391427036

Data:

Warning: SoapClient::SoapClient(http://200.182.98.153:8083/smsIntegrationCenter/soap/messageService?wsdl) [soapclient.soapclient]: failed to open stream: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\integracaoSMS\sendNews.php on line 76

Warning: SoapClient::SoapClient() [soapclient.soapclient]: I/O warning : failed to load external entity "http://200.182.98.153:8083/smsIntegrationCenter/soap/messageService?wsdl" in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\integracaoSMS\sendNews.php on line 76

Fatal error: Maximum execution time of 30 seconds exceeded in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\integracaoSMS\sendNews.php on line 82

Editado por Vinícius (Porco)
Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Vinicios,

Pelo que percebi, não tem erro no web service.

O serviço me retornou um valor boelano: bool(false)

Eu utilizo e recomendo a biblioteca nusoap para consumir webservice,

segue abaixo o fonte.

Modifique os argumentos passados nos parametros da função sendMessageInBulk, e faça um teste.

<?php
    require_once('nusoap.php');
    
    $wsdl = 'http://200.182.98.153:8083/smsIntegrationCenter/soap/messageService?wsdl'; 

    $client = new soapclient($wsdl, true);

    $err = $client->getError();

    if ($err){
        echo "Erro no construtor<pre>" . $err ."</pre>";
    }

    $proxy = $client->getProxy();
    $result = $proxy->sendMessageInBulk(array('messages'=>'teste','idProject'=>'1','login'=>'admin','password'=>'admin')); 
    
    if ($client->fault){
        echo "Falha<pre>".print var_dump($result)."</pre>";
    } else {
        $err = $client->getError();
        if ($err){
            echo "Erro<pre>".$err."</pre>";
        } else {
            print var_dump($result);
        }
    }
?>

Editado por Romero Dias
Link para o comentário
Compartilhar em outros sites

  • 0
Vinicios,

Pelo que percebi, não tem erro no web service.

O serviço me retornou um valor boelano: bool(false)

Eu utilizo e recomendo a biblioteca nusoap para consumir webservice,

segue abaixo o fonte.

Modifique os argumentos passados nos parametros da função sendMessageInBulk, e faça um teste.

<?php
    require_once('nusoap.php');
    
    $wsdl = 'http://200.182.98.153:8083/smsIntegrationCenter/soap/messageService?wsdl'; 

    $client = new soapclient($wsdl, true);

    $err = $client->getError();

    if ($err){
        echo "Erro no construtor<pre>" . $err ."</pre>";
    }

    $proxy = $client->getProxy();
    $result = $proxy->sendMessageInBulk(array('messages'=>'teste','idProject'=>'1','login'=>'admin','password'=>'admin')); 
    
    if ($client->fault){
        echo "Falha<pre>".print var_dump($result)."</pre>";
    } else {
        $err = $client->getError();
        if ($err){
            echo "Erro<pre>".$err."</pre>";
        } else {
            print var_dump($result);
        }
    }
?>

valeu Romero

Mas como adicono o nusoap no meu projeto.

É so extrair os arquivos daquele download no meu projeto????

Muito Grato

Editado por Vinícius (Porco)
Link para o comentário
Compartilhar em outros sites

  • 0

Romero, modifiquei meu código conforme o exemplo passado!

$wsdl = 'http://200.182.98.153:8083/smsIntegrationCenter/soap/messageService?wsdl'; 

    $client = new soapclient($wsdl,true);

    $err = $client->getError();

     
    if ($err){
        echo "Erro no construtor<pre>" . $err ."</pre>";
    }

    echo "inico";
    
    try {
        $proxy = $client->getProxy();
        $result = $proxy->SendMessageInBulk(array('messages'=>$listaObjMessage,'idProject'=>$idProject,'login'=>$login,'password'=>$password));
    } catch (Exception $e) {
        echo $e;
    }
    
    echo "<br />fim";
    
    if ($client->fault){
        echo "Falha<pre>".print var_dump($result)."</pre>";
    } else {
        $err = $client->getError();
        if ($err){
            echo "Erro<pre>".$err."</pre>";
        } else {
            print var_dump($result);
        }
    }
Ao rodar ele não me retorna nada, como se ele chegasse até a linha
echo "inicio";
Será que é algo realacionado a time out!??? Desde já muito obrigado pela atenção!
Correto, é só baixar e descompactar em algum diretorio do server então, você da um require() apontando para o arquivo nusoap.php é bem simples e poderosa essa biblioteca nusoap! Ex:
require 'nusoap/lib/nusoap.php';

Editado por Vinícius (Porco)
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,6k
×
×
  • Criar Novo...