Erro web service

Querendo comunicar o java com php
mais esta dando um erro deve ser uma besteirinha.

String endpoint = “http://localhost/webService/Servidor.php?wsdl”;
Service service = new Service();
Call call = (Call) service.createCall();
call.setTargetEndpointAddress(endpoint);
call.setOperationName(“dadosCliente”);
String ret = (String) call.invoke(new Object[]{new Integer(args[0])});
System.out.println("Got result : " + ret);

esse é o codigo que esta no java…mais dá erro quando vou conctar com php web service alguém
sabe o que possar ser…
o Erro é.
Exception in thread “main” java.lang.ArrayIndexOutOfBoundsException: 0
at Cliente.main(Cliente.java:17)

Olá!

Você tá tentando acessar alguma posição inválida do array. O problema tá na classe Cliente (linha 17) . Posta ai a classe Cliente para que possamos dar uma olhada.

[]s

mais essa ai é a classe cliente…
ai é que tá…eu não sei como funciona…mais vou postar a classe cliente.
servidor.e a que faz a pesquisa no banco.

a classe cliente

<?php /** * @author Marcus Brasizza * @category classe * @package void * @version 1.0.0 */ class cliente{ public $id; /* Key Field */ public $nome; public $endereco; public $telefone; public $email; public $estado; public function get($prop){ return $this->$prop; } public function set($prop,$val){ $this->$prop = $val; } public function __construct($id = null){ $conn = mysql_connect('localhost','root','root'); $bd = mysql_select_db('webservice'); if($id != null){ $sql = mysql_query("Select * from cliente where id = $id"); $ler = array(); if(mysql_num_rows($sql) > 0){ while($l = mysql_fetch_array($sql)){ $ler[] = $l['id']; $ler[] = $l['nome']; $ler[] = $l['endereco']; $ler[] = $l['telefone']; $ler[] = $l['email']; $ler[] = $l['estado']; } $this->__populate($ler); } } } private function __populate($line){ $properties = ''; $properties = get_class_vars(get_class($this)); if(count($properties) > 0 ){ $i=0; foreach($properties as $props=>$values){ $this->$props = $line[$i]; $i++; } } } public function emails($estado){ $sql = mysql_query("Select * from cliente where estado = $estado"); $emails = array(); while($dados = mysql_fetch_array($sql)){ $emails[] = $dados['email']; } return implode('*',$emails); } /* METODOS DE INTEGRACAO COM O WEBSERVICE */ static function str2Obj($str,$class){ $ex = explode('*',$str); if(count($ex) > 0 ){ foreach($ex as $ind=>$values){ $x = explode('=',$values); if(count($x)> 1){ $class->set($x[0],$x[1]); } } } return $class; } public function obj2Str($class) { $properties = get_class_vars(get_class($class)); if(count($properties) > 0 ){ $str = ''; $i=0; foreach($properties as $props=>$values){ $str.=$props.'='.$this->$props.'*'; } return substr($str,0,strlen($str)-1); } } } ?>

a outra classe do PHP que é o servidor.

<?php include('nusoap-0.7.3/lib/nusoap.php'); include('cliente.php'); // criação de uma instância do servidor $server = new soap_server; // inicializa o suporte a WSDL $server->configureWSDL('Registros do WSDL','urn:server.clientes'); $server->wsdl->schemaTargetNamespace = 'urn:server.clientes'; // registra o método a ser oferecido $server->register('dadosCliente', //nome do método array('id' => 'xsd:integer'), //parâmetros de entrada array('return' => 'xsd:string'), //parâmetros de saída 'urn:server.dadosCliente', //namespace 'urn:server.dadosCliente#dadosCliente', //soapaction 'rpc', //style 'encoded', //use 'Retorna os dados do cliente em foma de string no seguinte modelo: propriedade=valor*' //documentação do serviço ); $server->register('retornaEmails', //nome do método array('id' => 'xsd:integer'), //parâmetros de entrada array('return' => 'xsd:string'), //parâmetros de saída 'urn:server.retornaEmails', //namespace 'urn:server.retornaEmails#retornaEmails', //soapaction 'rpc', //style 'encoded', //use 'Retorna os E-mails de todos os clientes de acordo com os estados escolhidos (1 para ativo ou 0 para inativo) retornará os emails no formato <strong>email1*email2*email3...' //documentação do serviço ); function dadosCliente($id){ $cliente = new cliente($id); return $cliente->obj2Str($cliente); } function retornaEmails($estado) { $cliente = new cliente(); return $cliente->emails($estado); } function addJava($objet){ echo $objet; } // requisição para uso do serviço $HTTP_RAW_POST_DATA = isset($HTTP_RAW_POST_DATA) ? $HTTP_RAW_POST_DATA : ''; $server->service($HTTP_RAW_POST_DATA); ?>

Puxa! Essa ai eu não sei responder…
Já tentou postar essa dúvida no javaranch? Tem que postar em inglês, mas os caras que desenvolvem as provas de certififação da Sun estarão lá para te responder.
Boa sorte.

[]s