我正在尝试添加对特定服务的调用,但此消息不断弹出
我尝试直接从js使用一个简单的http.get()调用,但它显然最终出现了“同源策略”问题。
所以我决定使用RestTemplate,但错误仍然存在...
这是js代码的一部分:
$scope.cercaClienteNomeCognome = function() {
if (angular.uppercase($scope.nome) == undefined){
var name = "";
} else name = $scope.nome;
if (angular.uppercase($scope.cognome) == undefined){
var surname = "";
} else surname = $scope.cognome;
// OLD URL: ConfigPropertiesService.configProperties.urlricercaClienteNomeCognome+"cognome=%25"+surname+"%25&nome=%25"+name+"%25"
var url = ConfigPropertiesService.configProperties.completeURLItasServiziDocumentale + "servizi/getClienteNomeCognome?nomeCliente="+name+"&cognomeCliente="+surname;
$http.get(url)
.success(function(data, status, headers, config) {
if (data.length > 0) {
var modalInstance = $modal.open({
templateUrl: 'partials/modals/tipiDocumentoExtra.html',
controller: 'TreeController',
size : 'lg',
backdrop: 'static',
//keyboard: false,
resolve: {}
});
}
})
.error(function(data, status, headers, config) {
toaster.pop({
type : "Error",
title : "Ouh nou!",
body : "[RECUPERO CLIENTI] Errore durante il ritrovamento dei clienti"
});
});
};
这是java控制器:
@RequestMapping(value = "/getClienteNomeCognome", method = RequestMethod.GET)
public ResponseEntity<?> getClienteNomeCognome(@RequestParam("nomeCliente") String nomeCliente,
@RequestParam("cognomeCliente") String cognomeCliente) {
Object listaRisultati = null;
try {
listaRisultati = InterfacciamentoServiziService.getClienteNomeCognome(nomeCliente, cognomeCliente);
} catch (Exception e) {
LOGGER.warn(String.format("Errore inatteso sulla chiamata del servizio: [%s]", e.toString()));
;
}
LOGGER.info(String.format("Avvio ricerca cliente con nome: %s, cognome: %s)", nomeCliente, cognomeCliente));
return new ResponseEntity<Object>(listaRisultati, HttpStatus.OK);
}
这是控制器调用的服务:
public static Object getClienteNomeCognome(String nome, String cognome) throws Exception {
try {
final RestTemplate restTemplate = new RestTemplate();
final String url = "someURL?cognome=%25"+cognome+"%25&nome=%25"+nome+"%25";
final ResponseEntity<Object[]> response = restTemplate.getForEntity(url, Object[].class);
if (response.getBody() != null && response.getBody().toString().contains("<error>")) {
throw new Exception(String.format(
"La risposta del servizio contiene degli errori: %s",
response.getBody()));
} else {
LOGGER.debug("Fine chiamata al servizio di ricerca cliente");
return response.getBody();
}
} catch (HttpClientErrorException hcee) {
throw new Exception(String.format(
"Errore durante la chiamata. Error: %s",
hcee.getMessage()));
} catch (Exception e) {
throw new Exception(String.format(
"Errore generico durante la chiamata al servizio. Error: %s"
+ e.getMessage()));
}
}