Hi,
I am trying to add a SOAP Web Service to an existing Web Application and am having a great deal of trouble since my WebApp already uses Saxon and my SOAP Web Service wants to use the Xalan built into the JRE. When trying to get this working I encounter the error:
I prototyped my SOAP web service as a standalone Web App and it worked fine. When trying to integrate it I encounter the problem. The transformer object I am being supplied with is a net.sf.saxon.IdentityTransformer when in my working prototype its of class: com.sun.org.apache.xalan.internal.xsltc.trax.Trans formerImpl. Since Saxon is a required dependency elsewhere in the application, removing it is not feasible, so is it possible to make the org.springframework.ws.wsdl support use Saxon? If so, how do I do this?Code:java.lang.IllegalArgumentException: Unknown type of result: class javax.xml.transform.dom.DOMResult at net.sf.saxon.event.SerializerFactory.getReceiver(SerializerFactory.java:154) at net.sf.saxon.IdentityTransformer.transform(IdentityTransformer.java:24) at org.springframework.xml.transform.TransformerHelper.transform(TransformerHelper.java:138) at org.springframework.xml.transform.TransformerObjectSupport.transform(TransformerObjectSupport.java:96) at org.springframework.ws.wsdl.wsdl11.provider.InliningXsdSchemaTypesProvider.getSchemaElement(InliningXsdSchemaTypesProvider.java:113) at org.springframework.ws.wsdl.wsdl11.provider.InliningXsdSchemaTypesProvider.addTypes(InliningXsdSchemaTypesProvider.java:101) at org.springframework.ws.wsdl.wsdl11.ProviderBasedWsdl4jDefinition.afterPropertiesSet(ProviderBasedWsdl4jDefinition.java:233) at org.springframework.ws.wsdl.wsdl11.DefaultWsdl11Definition.afterPropertiesSet(DefaultWsdl11Definition.java:182) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1479) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1419)
I have tried to create my own versions of WsdlDefinitionHandlerAdapter and MessageDispatcherServlet using code cut-and-pasted from the respective classes. I had limited success with this approach and am loathe to go further with it since it feels like a horrible hack.
Can anyone offer any advice as to how I can get my SOAP web service working? Even an explanation on how to force springframeworks wsdl to use Saxon would be a step forward.
Thanks,
Phil


Reply With Quote