为什么在CommandLineRunner中结果Exception不同?

时间:2019-06-08 09:49:07

标签: spring-boot soap

我不明白我在做什么错。我使用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的肥皂详细信息错误?

0 个答案:

没有答案