У меня ошибка при попытке вызвать службу Rest, которая должна перевести запрос на SOAP-сервер.
исключительная ситуация JAXB; вложенное исключение - javax.xml.bind.MarshalException \ n - со связанным исключением:
\ n [com.sun.istack.internal.SAXException2: класс
java.util.LinkedHashMap ni aucune de ses суперклассы n'est connue
dans ce contexte. \ njavax.xml.bind.JAXBException: class
java.util.LinkedHashMap ni aucune de ses суперклассы n'est connue
dans ce contexte.]
мой конфиг
@Bean
public Jaxb2Marshaller marshaller() {
Jaxb2Marshaller marshaller = new Jaxb2Marshaller();
marshaller.setPackagesToScan(NAME_PACKAGE);
return marshaller;
}
@Bean
public WebServiceClients wsClient() {
WebServiceClients client = new WebServiceClients();
log.info("uri {} ", URL_WS);
client.setDefaultUri(URL_WS);//url sans ?wsdl a la fin
client.setMarshaller(marshaller());
client.setUnmarshaller(marshaller());
return client;
}
метод webserviceClient
public Object createTroubleTicketResponseType(CreateTroubleTicketRequestType createTroubleTicketRequestType) {
ObjectFactory objectFactory = new ObjectFactory();
CreateTroubleTicketRequestType ticketRequestType = objectFactory.createCreateTroubleTicketRequestType();
ticketRequestType.setCommonComponents(createTroubleTicketRequestType.getCommonComponents());
ticketRequestType.setIssueReferenceDetails(createTroubleTicketRequestType.getIssueReferenceDetails());
ticketRequestType.setRequestType(createTroubleTicketRequestType.getRequestType());
log.info("call createTroubleTicketRequestType {} ", ticketRequestType);
return getWebServiceTemplate().marshalSendAndReceive( new JAXBElement<CreateTroubleTicketRequestType>(new QName(ROOT_NAMESPACE,"CreateTroubleTicketRequest"), CreateTroubleTicketRequestType.class, ticketRequestType), new SoapActionCallback(WsConstant.OPERATION_CreateTroubleTicketRequest));
}
Служба моего отдыха
@PostMapping("createTroubleTicket2")
public ResponseEntity<?> createTroubleTicketResponseTypePost2(@RequestBody CreateTroubleTicketRequestType createTroubleTicketRequestType) {
log.info("call post function createTroubleTicket {} ", createTroubleTicketRequestType.getRequestType().toString());
return ResponseEntity.ok(webServiceClients.createTroubleTicketResponseType(createTroubleTicketRequestType));
}
полная ошибка
JAXB marshalling exception; nested exception is javax.xml.bind.MarshalException \ n - with linked exception: \ n [com.sun.istack.internal.SAXException2: class java.util.LinkedHashMap nor any of its superclasses is known in this context. \ njavax.xml.bind.JAXBException: class java.util.LinkedHashMap nor any of its superclasses is known in this context.]