Pessoal… desenvolvi um webservice em java. ta rodando perfeito… agora preciso… chamar esse web service atravez do PHP alguem sabe como eu posso fazer isso??
obrigado
Pessoal… desenvolvi um webservice em java. ta rodando perfeito… agora preciso… chamar esse web service atravez do PHP alguem sabe como eu posso fazer isso??
obrigado
[quote=fabioebner]Pessoal… desenvolvi um webservice em java. ta rodando perfeito… agora preciso… chamar esse web service atravez do PHP alguem sabe como eu posso fazer isso??
obrigado[/quote]
Se vc tiver a versão 5 do Php fica fácil fácil.
http://br2.php.net/manual/pt_BR/ref.soap.php
Basicamente com essas linhas vc já chama a criança. rs
<?php
$soapClient = new SoapClient("http://servidor:porta/aplicacao/seuwebservice.wsdl");
$soapClient->__soapCall("método", "argumentos são opcionais");
?>
Segue um pequeno tutorial que eu tinha criado um tempo atrás, talves o ajude.
Se você tiver o Php4 use uma lib do Pear(http://pear.php.net).
Sem mais, Rodrigo.
entao rodrigo eu fiz exatamente isso q vc fez… mas o problema e o seguinte… qdo eu passo apenas um aparametro ele executa normalmente… dai eu mexi no meu web service para receber 2 parametros… nao da certo ele mostra o seguinte erro
Error: Server.userException: No such operation ‘soma’
e so eu mudar o numero de parametros…
$Param = array(1,2);// array((int) $_POST[‘cep’] );
$obClient = new soapclient(‘http://10.0.0.2:8080/axis/Servico.jws’);
// Faz a chamada para o webmetodo(QueryByCep)
$Result = $obClient->call(‘soma’, $Param);
to usando asssim
[quote=fabioebner]entao rodrigo eu fiz exatamente isso q vc fez… mas o problema e o seguinte… qdo eu passo apenas um aparametro ele executa normalmente… dai eu mexi no meu web service para receber 2 parametros… nao da certo ele mostra o seguinte erro
Error: Server.userException: No such operation ‘soma’
e so eu mudar o numero de parametros…
$Param = array(1,2);// array((int) $_POST[‘cep’] );
$obClient = new soapclient(‘http://10.0.0.2:8080/axis/Servico.jws’);
// Faz a chamada para o webmetodo(QueryByCep)
$Result = $obClient->call(‘soma’, $Param);
to usando asssim[/quote]
Esse erro é por causa do caminho do WebService, o correto seria.
$obClient = new soapclient('http://10.0.0.2:8080/axis/Servico.jws?wsdl');
Com o “?wsdl” no final, no Java não precisa mas no Php sim.
E nos parâmetros você coloca a quantidade q o seu método precisa.
Sem mais, Rodrigo.
$Param = array(1,2);// array((int) $_POST['cep'] );
$obClient = new soapclient('http://10.0.0.2:8080/axis/Servico.jws?wsdl');
// Faz a chamada para o webmetodo(QueryByCep)
$Result = $obClient->call('soma', array(1,3));
rodrigo deu o mesmo erro. e tenho certeza q existe e classe… se eu chamar ele no browser assim 10.0.0.2:8080/axis/Servico.jws?method=some&valor1=1&valor2=3 ele me retorna o valor certinho
Epa epa epa, vc disse.
Olha o nome do método “some” na url acima, no Php vc está chamando como “soma” e outra a função precisa ter os __ no começo, o script correto ficaria assim.
<?php
$Param = array(1,2);// array((int) $_POST['cep'] );
$obClient = new SoapClient('http://10.0.0.2:8080/axis/Servico.jws?wsdl'); // Faz a chamada para o webmetodo(QueryByCep)
$Result = $obClient->__call('some', $Param);
?>
Esse pessoal que vem do Java no Php programa sem vontade nenhuma. huahauha
Sem mais, Rodrigo.
rodrigo a funca e a soma mesmo eu q escrive errado… mas continua dando o mesmo erro… e se eu ponho o __ antes do call ele fala q nao existe a funcao
Fatal error: Call to undefined function: __call() in C:\Arquivos de Programas\Apache Group\Apache2\htdocs\webservices\client_java.php on line 17
[quote=fabioebner]Fatal error: Call to undefined function: __call() in C:\Arquivos de Programas\Apache Group\Apache2\htdocs\webservices\client_java.php on line 17
[/quote]
Esse erro acontece porq vc nem compilou a extensão do soap corretamente, olhe aqui(http://br2.php.net/manual/pt_BR/ref.soap.php).
Lembrando q esse exemplo que passei no primeiro post vale para o Php5, no 4 não funciona.
Sem mais, Rodrigo.
estou usando o php 5… e se eu colocar o __call ele da o mesmo erro… e tbm estou usando uma classe chama NOSOAP.php…
ta certo neh??
Tenho que fazer um webservice cliente.Me passaram uma url http://200.149.12.124/scripts/ArenaWebService.dll/login
, tenho que acessar essa url passando o usuario e a senha, mais não estou sabendo como fazer isso. Alguem pode me dar uma luz?