Почему в CommandLineRunner результат Exception отличается? - PullRequest
0 голосов
/ 08 июня 2019

Я не понимаю, что я делаю не так. Я работаю на клиентском мыле с jaxb2 и следовал этому уроку https://howtodoinjava.com/spring-boot/spring-soap-client-webservicetemplate/. Он тестирует приложение с CommandLineRunner. Я адаптировал этот код для получения ошибки мыла. Я попытался с помощью следующего кода в классе SpringBootApplication:

@Bean
CommandLineRunner lookup(SOAPConnector soapConnector) {

    CreateAccountRequest request = new CreateAccountRequest();
    request.setFirstname(test);
    request.setEmail("test@test.com");
    request.setLastname("test");
    request.setPassword("test");
    CreateAccountResponse response = null;
    try {
        response = (CreateAccountResponse) soapConnector.callWebService("http://localhost:8080/anonymous/createAccount", request);
    }catch (SoapFaultClientException e){
        e.printStackTrace();
        System.out.println(e.getFaultStringOrReason());
    }
};

Это работает, и я получаю хорошее сообщение об исключении:

org.springframework.ws.soap.client.SoapFaultClientException: This user already exists !

Но когда я помещаю этот код в класс контроллера (без CommandLineRunner), результат e.getFaultStringOrReason () отличается. Я получаю:

org.springframework.ws.soap.client.SoapFaultClientException: Validation error

Что я должен сделать, чтобы получить подробное описание мыла, как в CommandLineRunner?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...