Чтобы использовать веб-сервис в нашем веб-приложении Spring, я следую этим инструкциям: Вызов веб-сервиса с JaxWsPortProxyFactoryBean
Я создал клиентские классы с помощью wsimport, и я могу использовать эти классы в команделиния клиента.Все работает отлично.
public static void main(String[] args) {
OrderServiceRequest req = new OrderServiceRequest()
// set fields
req.setLoginId('test');
ProfileService profileService = new ProfileService();
ProfileSoap port = profileService.getProfileSoap12();
OrderServiceResponse response = port.orderServiceRequest(req);
System.out.println("ErrorCode=" + response.getErrorCode());
}
Я реализую службу в Spring с созданными классами.Я настраиваю службу как Spring Bean:
<bean id="myService" class="org.springframework.remoting.jaxws.JaxWsPortProxyFactoryBean">
<property name="serviceInterface" value="my.package.name.ProfileSoap" />
<property name="wsdlDocumentUrl" value="http://localhost:9999/connector/MyWebService?wsdl" />
<property name="namespaceUri" value="http://url.to.namespace" />
<property name="serviceName" value="ProfileService" />
<property name="endpointAddress" value="http://localhost:9999/connector/MyWebService" />
</bean>
В другой Службе я внедряю Службу и вызываю веб-службу:
@Autowired
@Qualifier("myService")
ProfileSoap myService;
OrderServiceRequest req = new OrderServiceRequest();
req.setLoginId("12345");
req.setPassword("test");
req.setEAN("9783864905254");
// Request
OrderServiceResponse response = myService.orderServiceRequest(req);
// all fields of the response are null!
System.out.println(response.getErrorCode());
С помощью TCP-монитора в Eclipse я вижу, чтоответ возвращает правильные данные, но мой объект ответа в службе не содержит данных.
Какой подход я должен использовать для устранения этой проблемы?Любая помощь приветствуется