В классе конфигурации я определил несколько @Beans. Проблема в том, что некоторые bean-компоненты при вызове перенастраивают нуль в другом классе. Я хотел бы понять, почему это происходит.
SoapConfig.class
@Configuration
@ComponentScan(basePackages = {"mk.test.wsdl","mk.test.Porting"})
public Jaxb2Marshaller marshaller(){
Jaxb2Marshaller marshaller = new Jaxb2Marshaller();
marshaller.setContextPath("mk.softnet.wsdl");
System.out.println("out:" + marshaller);
return marshaller;
}
@Bean
public SaajSoapMessageFactory messageFactory() {
SaajSoapMessageFactory messageFactory = new SaajSoapMessageFactory();
messageFactory.setSoapVersion(SoapVersion.SOAP_12);
return messageFactory;
}
@Bean
public KeyStoreFactoryBean keyStoreFactoryBean(){
KeyStoreFactoryBean keyStoreFactoryBean = new KeyStoreFactoryBean();
keyStoreFactoryBean.setPassword("test");
keyStoreFactoryBean.setLocation(new
ClassPathResource("test.jks"));
return keyStoreFactoryBean;
}
SoapClinet.class
private Jaxb2Marshaller marshaller;
в методе:
System.out.println(marshaller)
// я получаю некоторое значение, например: marshalar: org.springframework.oxm.jaxb.Jaxb2Marshaller@376c7d7d
(что я не знаю, что это значит)
Но если я System.out ... "keyStoreFactoryBean"
или "messageFactory"
, я всегдаполучить значение NULL, мне нужно определить это в SoapClient.class
Единственная информация, которая указывает что-то, это: Bean 'keyStoreFactoryBean' типа [org.springframework.ws.soap.security.support.KeyStoreFactoryBean] не являетсяимеет право на получение обработки всеми BeanPostProcessors (например: не имеет права на авто-проксирование)
Но из того, что я прочитал, это не ошибка.