From cfcc9e99abe23575c670b3b0cd99020745917fe0 Mon Sep 17 00:00:00 2001 From: Daniel Haag <daniel.haag@uibk.ac.at> Date: Thu, 29 Aug 2019 17:00:21 +0200 Subject: [PATCH] openolat#81: the new cxf implementation needs a valid parameter for the invoke method --- src/main/java/at/ac/uibk/sis/SisManagerImpl.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/main/java/at/ac/uibk/sis/SisManagerImpl.java b/src/main/java/at/ac/uibk/sis/SisManagerImpl.java index 901463500b9..c66e2aa468d 100644 --- a/src/main/java/at/ac/uibk/sis/SisManagerImpl.java +++ b/src/main/java/at/ac/uibk/sis/SisManagerImpl.java @@ -26,6 +26,7 @@ import java.util.Map; import javax.xml.bind.JAXBContext; import javax.xml.namespace.QName; import javax.xml.transform.Source; +import javax.xml.transform.stream.StreamSource; import javax.xml.ws.Dispatch; import javax.xml.ws.Service; import javax.xml.ws.handler.MessageContext; @@ -68,13 +69,14 @@ public class SisManagerImpl extends SisManager { final Map<String, Object> requestContext = d.getRequestContext(); requestContext.put(MessageContext.HTTP_REQUEST_METHOD, new String(httpMethod)); // invoke - return d.invoke(null); + return d.invoke(returnClass.newInstance()); } else { final Dispatch<Source> d = service.createDispatch(portName, Source.class, Service.Mode.PAYLOAD); final Map<String, Object> requestContext = d.getRequestContext(); requestContext.put(MessageContext.HTTP_REQUEST_METHOD, new String(httpMethod)); // invoke - return d.invokeAsync(null); + Source request = new StreamSource(); + return d.invokeAsync(request); } } catch (final Exception ex) { log.error("Cannot execute SIS request.", ex); -- GitLab