Como obter mais de um Response do Web Service

Olá Pessoal,

O meu Web Service possui 4 métodos, e eu gostaria de saber como fazer para que ele retorne a resposta dos 4 no mesmo XML, estou usando o Axis2.

EX:

chamada do método:

 public static void main(String[] args) throws Exception {
                
        		WSTestStub stub = new WSTestStub(null,"http://localhost:82/axis2/services/WSTest");
        		
        		UrlValida url = new UrlValida();
        		url.setDomain("google.com");
        		
        		stub.urlValida(url); //chamando apenas 1 método
                  
                         // Demais métodos que eu gostaria de chamar e que sejam retornados tudo no mesmo XML
                        // pois só retorna a resposta do primeiro método chamado.

                        //stub.getNome();
  	                //stub.getTelefone();  
                       //stub.getIdade();
}

XML de solicitação para o Web Service:

<?xml version='1.0' encoding='UTF-8'?>
<soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope">
<soapenv:Body><ns1:urlValida xmlns:ns1="http://WSTest">
<ns1:domain>google.com</ns1:domain>
</ns1:urlValida>
</soapenv:Body>
</soapenv:Envelope>

XML de resposta do Web Service:

<?xml version='1.0' encoding='UTF-8'?>
<soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope">
<soapenv:Body>
<ns:urlValidaResponse xmlns:ns="http://WSTest">
<ns:return>1 650 6214008</ns:return>
</ns:urlValidaResponse>
</soapenv:Body>
</soapenv:Envelope>

Por acaso alguém sabe como fazer com que o Web Service retorne mais de um Response no seu xml de resposta? pois eu preciso que seja enviado um único XML informando os métodos que desejo obter a resposta do WS.

Se por acaso alguém souber algum modo alternativo também ajudaria muito,

Obrigado.

Você pode criar um novo web service que consolide as quatro respostas em um único objeto.
Isso é o correto; nunca faça um web service que seja um “getter” como você acabou de fazer (getName, getTelefone, getIdade).
Esse tipo de pensamento é que tornou os web services evitados em vários lugares, porque dessa maneira o web service fica proibitivamente lento.

Hmmm… Obrigado thingol, uma opção que eu tentei fazer seria criar umas tags xml dentro do proprio xml soap retornado pelo Web Service em formato de uma String, isso resolveria meu problema; só que quando eu tentei escrever as tags na hora da resposta o simbolo "<" que eu criei é substituído por
"& lt;" ja tentei também colocando "\<", mas memso assim não retorna o bem dito "<".

Será que tem algum jeito de retornar essa tag de abertura do xml corretamente?

PS: tive que colocar "& lt;" com espaço entre o "&" e o "lt" porque o próprio editor do forum exibe "<";

EX:

&lt;?xml version='1.0' encoding='UTF-8'?&gt;&lt;soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"&gt;&lt;soapenv:Body&gt;&lt;ns:urlValidaResponse xmlns:ns="http://siterWS"&gt;&lt;ns:return&gt;
& lt;TestWSResponse&gt;
& lt;telefone&gt;1 650 6214008& lt;/telefone&gt;
& lt;pais&gt;United States & lt;/pais&gt;
& lt;paisAlpha&gt;USA& lt;/paisAlpha&gt;
& lt;estado&gt;CA & lt;/estado&gt;
& lt;cidade&gt;Los Angeles& lt;/cidade&gt;
& lt;/TestWSResponse&gt;
&lt;/ns:return&gt;&lt;/ns:urlValidaResponse&gt;&lt;/soapenv:Body&gt;&lt;/soapenv:Envelope&gt; 

[quote=thingol]Você pode criar um novo web service que consolide as quatro respostas em um único objeto.
Isso é o correto; nunca faça um web service que seja um "getter" como você acabou de fazer (getName, getTelefone, getIdade).
Esse tipo de pensamento é que tornou os web services evitados em vários lugares, porque dessa maneira o web service fica proibitivamente lento.[/quote]
Eu pensei nessa opção de fazer com que o web service consolide as quatro respostas em um único objeto… consegui colocar os valores dentro do mesmo objeto só que na hora de fazer o cliente não fazia a menor ideia de como pegar os valores… pois ele retornava no xml algo como &lt;... type=&quot;pacote.ClasseDoObjeto&quot;&gt;

por acaso você tem algum exemplo de como fazer isso com que o cliente possa pegar os valores? pois na verdade o cliente será em outra linguagem que recebe o xml do web service.

Você quer retornar um array de 4 strings? Acho que a maior parte dos clients de web services consegue entender um array de 4 strings.