diff --git a/src/main/java/at/ac/uibk/sis/SisManagerImpl.java b/src/main/java/at/ac/uibk/sis/SisManagerImpl.java index 901463500b9d1ea62dd0eb1d74120e2d5a590053..c66e2aa468d19e26c1612441ee5de9839cf4efdf 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);