Hi,

I'm trying to pass an org.apache.xmlbeans.XmlObject as a parameter to a call to 
an apache XmlRpc server.  The server fail and generate the exception at the 
bottom of this message.

Some info :
- Server under tomcat6
- Using a custom Handler Mapping
- Calling through interfaces (With the mapping)

Actually, the mapping works for many other functions with

Here is the handler mapping initialisation :
protected XmlRpcHandlerMapping newXmlRpcHandlerMapping() throws XmlRpcException 
{
      PropertyHandlerMapping phm = new PropertyHandlerMapping() ;

      phm.addHandler(ctec.TVLMManager.XmlRpc.TestServer.class.getName(), 
ctec.TVLMManager.XmlRpc.server.TestServerImpl.class) ;
      phm.addHandler(ctec.TVLMManager.XmlRpc.TVLMServer.class.getName(), 
ctec.TVLMManager.XmlRpc.server.TVLMServerImpl.class) ;

      return phm ;
}

I also tried adding a custom TypeFactory in the newXmlRpcServer(...) but the 
getParser(...) method is never called.  On the client side, the 
getSerializer(...) is called.
protected XmlRpcServletServer newXmlRpcServer(ServletConfig pConfig) throws 
XmlRpcException {
      XmlRpcServletServer server = super.newXmlRpcServer(pConfig);
      server.setTypeFactory(new CustomTypeFactory(server)) ;

      return server ;
}

java.lang.IllegalStateException: Invalid parameter or result type: 
org.apache.xmlbeans.XmlObject
        at 
org.apache.xmlrpc.common.TypeConverterFactoryImpl.getTypeConverter(TypeConverterFactoryImpl.java:296)
        at 
org.apache.xmlrpc.server.ReflectiveXmlRpcHandler$MethodData.<init>(ReflectiveXmlRpcHandler.java:47)
        at 
org.apache.xmlrpc.server.ReflectiveXmlRpcHandler.<init>(ReflectiveXmlRpcHandler.java:73)
        at 
org.apache.xmlrpc.metadata.ReflectiveXmlRpcMetaDataHandler.<init>(ReflectiveXmlRpcMetaDataHandler.java:54)
        at 
org.apache.xmlrpc.server.AbstractReflectiveHandlerMapping.newXmlRpcHandler(AbstractReflectiveHandlerMapping.java:188)
        at 
org.apache.xmlrpc.server.AbstractReflectiveHandlerMapping.registerPublicMethods(AbstractReflectiveHandlerMapping.java:169)
        at 
org.apache.xmlrpc.server.PropertyHandlerMapping.addHandler(PropertyHandlerMapping.java:111)
        at 
ctec.TVLMManager.XmlRpc.server.TVLMXmlRpcServlet.getPropertyHandlerMapping(TVLMXmlRpcServlet.java:74)
        at 
ctec.sdk.xmlrpc.CTecXmlRpcServlet.newXmlRpcHandlerMapping(CTecXmlRpcServlet.java:42)
        at org.apache.xmlrpc.webserver.XmlRpcServlet.init(XmlRpcServlet.java:99)
        at 
org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1173)
        at 
org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:809)
        at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:129)
        at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        at 
org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.java:394)
        at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
        at 
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)
        at 
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
        at 
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
        at java.lang.Thread.run(Thread.java:636)

Reply via email to