Description
A Service created from a WSDL that has doc literal wrapped operations will always return DOMSource regardless of the source type requested by the Dispatch.invoke method.
For example using a WSDL such as: http://www.xignite.com/xQuotes.asmx?WSDL, the following code highlights the issue with a class cast exception on the last line:
Service service = Service.create(wsdl, new QName("http://www.xignite.com/services/", "XigniteQuotes")); Dispatch<T> dispatch = wsdlService.createDispatch(new QName("http://www.xignite.com/services/", "XigniteQuotesSoap"), StAXSource.class, Service.Mode.PAYLOAD); QName opQName = new QName("http://www.xignite.com/services/", "GetFundQuote"); dispatch.getRequestContext().put(MessageContext.WSDL_OPERATION, opQName); StAXSource result = dispatch.invoke(someDoc);