Hi all,

By accident I run into a wired issue using XMLBeans data binding: For
testing purposes I added a simple log statement in my generated InOut class
before skel.process(). Using the generated Stub class I get a
NullPointerException in XMLBeans Factory.parse() (or better XMLBeans
Cur$CurLoadContext.finish,low see b). If I remove the log statement,
everything works. What makes this error wired is that it depends on the
existence of a <SOAP-ENV:Header/> within the request. If I send a SOAP
request without a SOAP-ENV Header tag, processing will succeed. Even WITH
the log statement.

I tried to track down the reason for it, however I got lost somewhere
between finding the right version of ws-commons and the current toString
implementation of OMElement, OMNode and so on. My first impression is that
there is a caching issue in ws.commons.om.OMElement.

Shouldn't the following work (I have working example for it)?

Instead of the generated

---
 Foo param3 = null;
 param3 = skel.process( (Foo)
fromOM(msgContext.getEnvelope().getBody().getFirstElement(), Foo.class));
---

I used 

---
 Foo param3 = null;
 log.info(msgContext.getEnvelope().getBody().getFirstElement());
 param3 = skel.process( (Foo)
fromOM(msgContext.getEnvelope().getBody().getFirstElement(), Foo.class));
--- 

and got the following exception:

23:03:14,299 ERROR [TestApiPortMessageReceiverInOut] Error processing
java.lang.RuntimeException: Data binding error
        at 
test.TestApiPortMessageReceiverInOut.fromOM(TestApiPortMessageReceiverInOut.
java:135)
        at 
test.TestApiPortMessageReceiverInOut.invokeBusinessLogic(TestApiPortMessageR
eceiverInOut.java:54)
        at 
org.apache.axis2.receivers.AbstractInOutSyncMessageReceiver.receive(Abstract
InOutSyncMessageReceiver.java:37)
        at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:408)
        at 
org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HT
TPTransportUtils.java:288)
        at 
org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:160)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:252)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:173)
        at 
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.ja
va:96)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:202)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:173)
        at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja
va:213)
        at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja
va:178)
        at 
org.jboss.web.tomcat.security.CustomPrincipalValve.invoke(CustomPrincipalVal
ve.java:54)
        at 
org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssoci
ationValve.java:174)
        at 
org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:
74)
        at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126
)
        at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105
)
        at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java
:107)
        at 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
        at 
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:868)
        at 
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processC
onnection(Http11BaseProtocol.java:663)
        at 
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.jav
a:527)
        at 
org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThre
ad.java:112)
        at java.lang.Thread.run(Thread.java:613)
Caused by: java.lang.NullPointerException
        at 
org.apache.xmlbeans.impl.store.Cur$CurLoadContext.finish(Cur.java:3184)
        at 
org.apache.xmlbeans.impl.store.Locale.loadXMLStreamReader(Locale.java:1216)
        at 
org.apache.xmlbeans.impl.store.Locale.parseToXmlObject(Locale.java:843)
        at 
org.apache.xmlbeans.impl.store.Locale.parseToXmlObject(Locale.java:826)
        at 
org.apache.xmlbeans.impl.schema.SchemaTypeLoaderBase.parse(SchemaTypeLoaderB
ase.java:231)
        at foo.bar.RequestDocument$Factory.parse(Unknown Source)
        at 
test.TestApiPortMessageReceiverInOut.fromOM(TestApiPortMessageReceiverInOut.
java:127)
        ... 26 more 


Reply via email to