Hello everyone,
I'm using XFire 1.2.6.
I would like to expose an interface that can return varying Beans. For this
I've created an interface with <code>public Object getExtendedStatus(String
taskId);</code> method. The server side up casts the Bean to be send over
the wire, in the client I'm trying to downcast it back to the correct bean
but this does not work. I'm getting servlet.ServletException (see stack
trace at the end of email).
The question I assume is: Does XFire supports up casting POJO all the way to
Object before sending them via SOAP in a way that could be down casted on
the other end ?
Thank you,
Maxim.
Stack trace:
"""
org.apache.jasper.JasperException: javax.servlet.ServletException:
java.lang.StackOverflowError
at org.apache.jasper.servlet.JspServletWrapper.handleJspException(
JspServletWrapper.java:502)
at org.apache.jasper.servlet.JspServletWrapper.service(
JspServletWrapper.java:414)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java
:320)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(
ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(
ApplicationFilterChain.java:206)
at com.ml.multiusers.filters.URLFilter.proceedToURL(URLFilter.java:23)
at com.ml.multiusers.filters.URLFilter.doFilter(URLFilter.java:93)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(
ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(
ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(
StandardWrapperValve.java:228)
at org.apache.catalina.core.StandardContextValve.invoke(
StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(
StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(
ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(
StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(
CoyoteAdapter.java:212)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java
:818)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(
Http11Protocol.java:624)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java
:445)
at java.lang.Thread.run(Thread.java:595)
Caused by: javax.servlet.ServletException: java.lang.StackOverflowError
at org.apache.jasper.runtime.PageContextImpl.doHandlePageException(
PageContextImpl.java:855)
at org.apache.jasper.runtime.PageContextImpl.handlePageException(
PageContextImpl.java:784)
at org.apache.jsp.pushActionTable_jsp._jspService
(pushActionTable_jsp.java:864)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.jasper.servlet.JspServletWrapper.service(
JspServletWrapper.java:390)
... 19 more
Caused by: java.lang.StackOverflowError
at org.codehaus.xfire.util.stax.DepthXMLStreamReader.getNamespaceURI(
DepthXMLStreamReader.java:142)
at org.codehaus.xfire.util.stax.DepthXMLStreamReader.getNamespaceURI(
DepthXMLStreamReader.java:142)
at org.codehaus.xfire.aegis.stax.ElementReader.getNamespaceForPrefix(
ElementReader.java:266)
at org.codehaus.xfire.aegis.type.basic.ObjectType.extractQName(
ObjectType.java:146)
at org.codehaus.xfire.aegis.type.basic.ObjectType.readObject(
ObjectType.java:97)
at org.codehaus.xfire.aegis.type.basic.ObjectType.readObject(
ObjectType.java:133)
<<something like 100 more lines like the last one>>
"""
--
Cheers,
Maxim Veksler
"Free as in Freedom" - Do u GNU ?