Criei um web service e preciso consumir outro web service a partir deste, alguém tem algum exemplo/link/tutorial para disponibilizar? Estou utilizando o Netbeans.
Obrigado.
Diogo
Criei um web service e preciso consumir outro web service a partir deste, alguém tem algum exemplo/link/tutorial para disponibilizar? Estou utilizando o Netbeans.
Obrigado.
Diogo
Vc pode ter um client que acessa o web service1 e joga essa informação para o 2.
Se vc consegue fazer a parte do client e do server não terá nenhum problema .
É soap/rest ?
Complementando a resposta do igomes, se for linux você pode fazer:
curl webservice1 | curl webservice2
É soap, tem um dos web services que não posso fazer a ponte de client, consigo acessa-lo somente com outro web service. Mas não sei se estou fazendo da forma correta, num mesmo web service eu faço ele ser um client e web service, pelo netbeans:
Esse é meu web service1:
@WebService(serviceName = "SeniorWS")
@Stateless()
public class SeniorWS {
/**
* This is a sample web service operation
*/
@WebMethod(operationName = "hello")
public String hello(@WebParam(name = "name") String txt) {
try {
return "Sucesso: " + txt + " !" + Controller.enviarPessoa();
} catch(Exception ex) {
return "Erro: " + ex.getMessage();
}
}
}
Nele eu chamo o método enviarPessoa(), nesse método eu consumo o web service2, abaixo segue o código do método do web service2:
private static GravaInterfacePrevineResponse gravaInterfacePrevine(wsserver.previne.logone.arcadian.com.interfaceprevinews.GravaInterfacePrevineRequest gravaInterfacePrevineRequest) {
wsserver.previne.logone.arcadian.com.interfaceprevinews.WsServerPortService service;
wsserver.previne.logone.arcadian.com.interfaceprevinews.WsServerPort port;
Authenticator.setDefault(new Authenticator() {
@Override
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication("####", "####".toCharArray());
}
});
service = new wsserver.previne.logone.arcadian.com.interfaceprevinews.WsServerPortService();
port = service.getWsServerPortSoap11();
return port.gravaInterfacePrevine(gravaInterfacePrevineRequest);
}
Mas no log da o seguinte erro:
Grave: MASM0003: o arquivo de configuração metro-default.xml default não foi carregado
Advertência: MASM0010: não é possível cancelar o marshalling do arquivo de configuração metro da localização [ file:/C:/Users/diogo.zucchi/Documents/NetBeansProjects/SeniorTgpmWS/build/classes/META-INF/metro-default.xml ]
Lamento.