Проблемы демаршаллинга JAXB в веб-службе SpringJAVA

Программисты JAVA общаются здесь
Anonymous
Проблемы демаршаллинга JAXB в веб-службе Spring

Сообщение Anonymous »

Я успешно сгенерировал WSDL в Spring на основе существующего определения WSDL. Это было выполнено без каких-либо проблем, и сгенерированный WSDL соответствует моим ожиданиям. Однако, несмотря на эту успешную генерацию, я по-прежнему сталкиваюсь с проблемами с запросами SOAP.
Когда я вызываю веб-службу с помощью пользовательского интерфейса SOAP и передаю значения в поля RequestorID, RequestSub и RequestStatus, Я получаю JAXBElement как нулевое значение.
Определение WSDL Соответствующая часть WSDL выглядит следующим образом: Код:

Код: Выделить всё

@PayloadRoot(namespace = NAMESPACE_URI, localPart = "test")
@ResponsePayload
public JAXBElement test(
@RequestPayload JAXBElement requestorID,
@RequestPayload JAXBElement requestSub,
@RequestPayload JAXBElement requestModifyStatus
) {
RequestorIDSimpleType requestorIDObj = requestorID.getValue();
LOG.info("Description: {}", requestorIDObj.getDescription());
LOG.info("User: {}", requestorIDObj.getUser()); }
Также я вижу это сообщение: Сопоставление конечной точки [org.springframework.ws.server.endpoint.mapping.PayloadRootAnnotationMethodEndpointMapping@be9e5ce] сопоставляет запрос с конечной точкой [public jakarta.xml.bind.JAXBElement< test.GeneralResponseType> test.activate(jakarta.xml.bind.JAXBElement,jakarta.xml.bind.JAXBElement,jakarta.xml.bind.JAXBElement)] Поле не найден в строке XML.
Я ожидал, что служба успешно извлечет значения из полей RequestorID, RequestSub и RequestStatus без каких-либо нулевых значений.

Подробнее здесь: https://stackoverflow.com/questions/790 ... eb-service

Вернуться в «JAVA»