У меня есть два проекта кода, оба используют CXF для использования веб-сервисов.Когда я выполняю вызов из проекта A в проект B, метод, который я вызываю, получает нулевые параметры.Я включил ведение журнала, и входящее сообщение действительно содержит правильные параметры.Я также попытался позвонить в мой сервис из SoapUI (инструмент тестирования веб-сервиса).Это проходит по параметрам, как я ожидаю.У кого-нибудь есть идеи, что происходит?
Интерфейс службы:
@WebService
public interface IShortlistService {
public IShortlist createOrUpdateShortlist(@WebParam(name = "sessionId") String sessionId,
@WebParam(name = "datastoreInstance") String datastoreInstance,
@WebParam(name = "datastoreRecordId") String datastoreRecordId);
}
Служба подразумевает:
@Name("shortlistService")
@WebService(endpointInterface = "com.oobjects.shortlist.service.IShortlistService", serviceName = "ShortlistService")
@Features(features = "org.apache.cxf.feature.LoggingFeature")
@Transactional
public class ShortlistService implements IShortlistService {
public IShortlist createOrUpdateShortlist(String sessionId, String datastoreInstance,
String datastoreRecordId) {
// At this point all inputs are null
}
}
Регистрация входящих сообщений, подтверждающих, что все в порядке:
INFO: Inbound Message
----------------------------
Encoding: UTF-8
Content-Type: text/xml; charset=UTF-8
Headers: {cache-control=[no-cache], content-type=[text/xml; charset=UTF-8], connection=[keep-alive], host=[mypc.mycompany.com:8080], content-length=[391], SOAPAction=[""], user-agent=[Apache CXF 2.2.5], Accept=[*/*], pragma=[no-cache]}
Payload: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><ns1:createOrUpdateShortlist xmlns:ns1="http://service.shortlist.mycompany.com/"><sessionId>854a48b5-922f-4081-9c76-b6d08b58a341</sessionId><datastoreInstance>http://mypc.mycompany.com:8080/shortlist-app/services/ShortlistService</datastoreInstance></ns1:createOrUpdateShortlist></soap:Body></soap:Envelope>
--------------------------------------
Версии CXF одинаковы (2.2.5).Я не могу думать, что еще проверить!
Некоторая запрашиваемая информация ...
- @ Имя - это аннотация шва
- Настраивается программно
- Привязка данных Aegis (JAXWS не любит интерфейсы)