eae galera, to precisando de uma ajuda.
Tenho um webservice feito em PHP com a biblioteca nuSOAP e estou tentando consumir um serviço através de um cliente feito em JAVA.
O webservice recebe o nome de uma pessoa como parametro de entrada e retorna um array com os dados da pessoa:
$server->register('readPessoa',
array ( 'nome' => 'xsd:string'),
array ( 'nome' => 'xsd:string', 'cargo' => 'xsd:string','papel' => 'xsd:string','contato' => 'xsd:int'),
'urn:server',
'urn:server#readPessoa',
'rpc',
'encoded',
'Lê uma pessoa cadastrada.');
function readPessoa($nome)
{
$pessoa = new Pessoa;
$linha = $pessoa->readPessoa($nome);
$aux = array( "nome" => $linha['nome'],"cargo"=> $linha['cargo'], "papel"=>$linha['papel'], "contato"=> $linha['contato'] );
return $aux;
}
Gostaria de saber como faço pra receber esses dados e exibi-los, meu codigo java segue abaixo:
public String readPessoa(String nome) {
// Cria um novo serviço
Service service = new Service();
Object [] ret;
String n = "";
// Cria uma chamada para o serviço
Call call;
try {
call = (Call) service.createCall();
// Seta a URL onde está o serviço
call.setTargetEndpointAddress(new java.net.URL(
"http://localhost/WebServices/index.php"));
// seta qual função do webservice será chamada
call.setOperationName("readPessoa");
// diz que o primeiro parâmetro será o numDia
call.addParameter("nome", XMLType.SOAP_STRING, ParameterMode.IN);
call.setReturnType(XMLType.SOAP_ARRAY);
// efetua a chamada ao webservice
ret = new Object[]{ call.invoke(new Object[] { nome })};
/** GOSTARIA DE SABER COMO PEGO OS VALORES RETORNADO PELO SERVIÇO PARA EXIBI-LOS */
n= (String)ret[1];//isso aki da erro!!
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return n;
}