Hello,
Just an update, I have confirmed that it is the switching of the TCCL that is
the culprit. Switching the TCCL back to the webapp loader just before invoking
Tuscany, results in this code working.
Rick wrote:
Hello,
I'm receiving an NPE in ModelPackageImpl. because line 2735 is
returning null for "theXMLTypePackage". Later on 2749 a NPE occurs. I
know DAS works by it self and so this code has been executed
successfully. Past experience with SDO I recall some sensitively to
classloaders and TCCL. So in ModelPackage I tried the following :
this.getClass().getClassLoader()
(org.apache.catalina.loader.WebappClassLoader) WebappClassLoader
delegate: false
repositories:
/WEB-INF/classes/
----------> Parent Classloader:
[EMAIL PROTECTED]
Thread.currentThread().getContextClassLoader()
(org.apache.axis2.util.MultiParentClassLoader)
[org.apache.axis2.util.MultiParentClassLoader]
So it seems that classloader does not equal TCCL.
Trying to track down where axis is doing this and see if it can be
avoided. But could this result in this behavior ? If yes and we can't
easily get axis to not switch TCCL, any thoughts how to avoid in SDO?
org.apache.tuscany.sdo.model.impl.ModelPackageImpl.initializePackageContents()
line: 2738 org.apache.tuscany.sdo.model.impl.ModelPackageImpl.init()
line: 1418
org.apache.tuscany.sdo.helper.TypeHelperImpl.<init>(org.eclipse.emf.ecore.util.ExtendedMetaData)
line: 61 org.apache.tuscany.sdo.util.SDOUtil.createTypeHelper() line:
298 org.apache.tuscany.sdo.helper.HelperProviderImpl.<init>() line:
71
sun.reflect.NativeConstructorAccessorImpl.newInstance0(java.lang.reflect.Constructor,
java.lang.Object[]) line: not available [native method]
sun.reflect.NativeConstructorAccessorImpl.newInstance(java.lang.Object[])
line: 39
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(java.lang.Object[])
line: 27
java.lang.reflect.Constructor<T>.newInstance(java.lang.Object...) line:
494 java.lang.Class<T>.newInstance0() line: 350
java.lang.Class<T>.newInstance() line: 303
commonj.sdo.impl.HelperProvider.loadImplementation(java.lang.ClassLoader,
java.lang.String) line: 156
commonj.sdo.impl.HelperProvider.getInstance(java.lang.ClassLoader) line:
125 commonj.sdo.impl.HelperProvider.<clinit>() line: 68
commonj.sdo.helper.XMLHelper.<clinit>() line: 166
org.apache.tuscany.das.rdb.util.ConfigUtil.loadConfig(java.io.InputStream)
line: 49
org.apache.tuscany.das.rdb.impl.DASImpl.<init>(java.io.InputStream,
java.sql.Connection) line: 96
org.apache.tuscany.das.rdb.impl.DASFactoryImpl.createDAS(java.io.InputStream,
java.sql.Connection) line: 39
bigbank.account.services.accountdata.AccountDataServiceDASImpl.getCustomerProfile(java.lang.String)
line: 69
sun.reflect.NativeMethodAccessorImpl.invoke0(java.lang.reflect.Method,
java.lang.Object, java.lang.Object[]) line: not available [native
method] sun.reflect.NativeMethodAccessorImpl.invoke(java.lang.Object,
java.lang.Object[]) line: 39
sun.reflect.DelegatingMethodAccessorImpl.invoke(java.lang.Object,
java.lang.Object[]) line: 25
java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object...)
line: 585
org.apache.tuscany.core.implementation.java.JavaTargetInvoker(org.apache.tuscany.core.wire.PojoTargetInvoker).invokeTarget(java.lang.Object)
line: 63
org.apache.tuscany.core.implementation.java.JavaTargetInvoker(org.apache.tuscany.core.wire.PojoTargetInvoker).invoke(org.apache.tuscany.spi.wire.Message)
line: 72
org.apache.tuscany.core.wire.InvokerInterceptor.invoke(org.apache.tuscany.spi.wire.Message)
line: 44
org.apache.tuscany.core.wire.SynchronousBridgingInterceptor.invoke(org.apache.tuscany.spi.wire.Message)
line: 41
org.apache.tuscany.core.databinding.impl.DataBindingInteceptor.invoke(org.apache.tuscany.spi.wire.Message)
line: 71
org.apache.tuscany.core.wire.jdk.JDKOutboundInvocationHandler(org.apache.tuscany.core.wire.AbstractOutboundInvocationHandler).invoke(org.apache.tuscany.spi.wire.OutboundInvocationChain,
org.apache.tuscany.spi.wire.TargetInvoker, java.lang.Object[]) line:
65
org.apache.tuscany.core.wire.jdk.JDKOutboundInvocationHandler.invoke(java.lang.Object,
java.lang.reflect.Method, java.lang.Object[]) line: 121
$Proxy41.getCustomerProfile(java.lang.String) line: not available
bigbank.account.services.accountlogger.AccountLoggerDataServiceImpl.getCustomerProfile(java.lang.String)
line: 60
sun.reflect.NativeMethodAccessorImpl.invoke0(java.lang.reflect.Method,
java.lang.Object, java.lang.Object[]) line: not available [native
method] sun.reflect.NativeMethodAccessorImpl.invoke(java.lang.Object,
java.lang.Object[]) line: 39
sun.reflect.DelegatingMethodAccessorImpl.invoke(java.lang.Object,
java.lang.Object[]) line: 25
java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object...)
line: 585
org.apache.tuscany.core.implementation.java.JavaTargetInvoker(org.apache.tuscany.core.wire.PojoTargetInvoker).invokeTarget(java.lang.Object)
line: 63
org.apache.tuscany.core.implementation.java.JavaTargetInvoker(org.apache.tuscany.core.wire.PojoTargetInvoker).invoke(org.apache.tuscany.spi.wire.Message)
line: 72
org.apache.tuscany.core.wire.InvokerInterceptor.invoke(org.apache.tuscany.spi.wire.Message)
line: 44
org.apache.tuscany.core.wire.SynchronousBridgingInterceptor.invoke(org.apache.tuscany.spi.wire.Message)
line: 41
org.apache.tuscany.core.databinding.impl.DataBindingInteceptor.invoke(org.apache.tuscany.spi.wire.Message)
line: 71
org.apache.tuscany.core.wire.jdk.JDKOutboundInvocationHandler(org.apache.tuscany.core.wire.AbstractOutboundInvocationHandler).invoke(org.apache.tuscany.spi.wire.OutboundInvocationChain,
org.apache.tuscany.spi.wire.TargetInvoker, java.lang.Object[]) line:
65
org.apache.tuscany.core.wire.jdk.JDKOutboundInvocationHandler.invoke(java.lang.Object,
java.lang.reflect.Method, java.lang.Object[]) line: 121
$Proxy40.getCustomerProfile(java.lang.String) line: not available
bigbank.account.services.account.AccountServiceImpl.getCustomerProfile(java.lang.String)
line: 189
sun.reflect.NativeMethodAccessorImpl.invoke0(java.lang.reflect.Method,
java.lang.Object, java.lang.Object[]) line: not available [native
method] sun.reflect.NativeMethodAccessorImpl.invoke(java.lang.Object,
java.lang.Object[]) line: 39
sun.reflect.DelegatingMethodAccessorImpl.invoke(java.lang.Object,
java.lang.Object[]) line: 25
java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object...)
line: 585
org.apache.tuscany.core.implementation.java.JavaTargetInvoker(org.apache.tuscany.core.wire.PojoTargetInvoker).invokeTarget(java.lang.Object)
line: 63
org.apache.tuscany.core.implementation.java.JavaTargetInvoker(org.apache.tuscany.core.wire.PojoTargetInvoker).invoke(org.apache.tuscany.spi.wire.Message)
line: 72
org.apache.tuscany.core.wire.InvokerInterceptor.invoke(org.apache.tuscany.spi.wire.Message)
line: 44
org.apache.tuscany.core.wire.SynchronousBridgingInterceptor.invoke(org.apache.tuscany.spi.wire.Message)
line: 41
org.apache.tuscany.core.databinding.impl.DataBindingInteceptor.invoke(org.apache.tuscany.spi.wire.Message)
line: 71
org.apache.tuscany.core.wire.SynchronousBridgingInterceptor.invoke(org.apache.tuscany.spi.wire.Message)
line: 41
org.apache.tuscany.binding.axis2.Axis2Service.invokeTarget(org.apache.tuscany.spi.model.Operation<?>,
java.lang.Object[]) line: 192
org.apache.tuscany.binding.axis2.Axis2ServiceInOutSyncMessageReceiver.invokeBusinessLogic(org.apache.axis2.context.MessageContext,
org.apache.axis2.context.MessageContext) line: 49
org.apache.tuscany.binding.axis2.Axis2ServiceInOutSyncMessageReceiver(org.apache.axis2.receivers.AbstractInOutSyncMessageReceiver).receive(org.apache.axis2.context.MessageContext)
line: 39
org.apache.axis2.engine.AxisEngine.receive(org.apache.axis2.context.MessageContext)
line: 492
org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(org.apache.axis2.context.MessageContext,
java.io.InputStream, java.io.OutputStream, java.lang.String,
java.lang.String, java.lang.String) line: 324
org.apache.tuscany.binding.axis2.Axis2ServiceServlet(org.apache.axis2.transport.http.AxisServlet).doPost(javax.servlet.http.HttpServletRequest,
javax.servlet.http.HttpServletResponse) line: 230
org.apache.tuscany.binding.axis2.Axis2ServiceServlet(javax.servlet.http.HttpServlet).service(javax.servlet.http.HttpServletRequest,
javax.servlet.http.HttpServletResponse) line: 709
org.apache.tuscany.binding.axis2.Axis2ServiceServlet.service(javax.servlet.http.HttpServletRequest,
javax.servlet.http.HttpServletResponse) line: 200
org.apache.tuscany.binding.axis2.Axis2ServiceServlet(javax.servlet.http.HttpServlet).service(javax.servlet.ServletRequest,
javax.servlet.ServletResponse) line: 802
org.apache.tuscany.runtime.webapp.ServletHostImpl.service(javax.servlet.ServletRequest,
javax.servlet.ServletResponse) line: 60
org.apache.tuscany.runtime.webapp.TuscanyServlet.service(javax.servlet.ServletRequest,
javax.servlet.ServletResponse) line: 56
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(javax.servlet.ServletRequest,
javax.servlet.ServletResponse) line: 252
org.apache.catalina.core.ApplicationFilterChain.doFilter(javax.servlet.ServletRequest,
javax.servlet.ServletResponse) line: 173
org.apache.catalina.core.StandardWrapperValve.invoke(org.apache.catalina.connector.Request,
org.apache.catalina.connector.Response) line: 213
org.apache.catalina.core.StandardContextValve.invoke(org.apache.catalina.connector.Request,
org.apache.catalina.connector.Response) line: 178
org.apache.catalina.core.StandardHostValve.invoke(org.apache.catalina.connector.Request,
org.apache.catalina.connector.Response) line: 126
org.apache.catalina.valves.ErrorReportValve.invoke(org.apache.catalina.connector.Request,
org.apache.catalina.connector.Response) line: 105
org.apache.catalina.core.StandardEngineValve.invoke(org.apache.catalina.connector.Request,
org.apache.catalina.connector.Response) line: 107
org.apache.catalina.connector.CoyoteAdapter.service(org.apache.coyote.Request,
org.apache.coyote.Response) line: 148
org.apache.coyote.http11.Http11Processor.process(java.io.InputStream,
java.io.OutputStream) line: 869
org.apache.coyote.http11.Http11Protocol$JmxHttp11ConnectionHandler(org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler).processConnection(org.apache.tomcat.util.net.TcpConnection,
java.lang.Object[]) line: 664
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(java.net.Socket,
org.apache.tomcat.util.net.TcpConnection, java.lang.Object[]) line:
527
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(java.lang.Object[])
line: 80
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run() line:
684
org.apache.tomcat.util.threads.ThreadWithAttributes(java.lang.Thread).run()
line: 595
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]