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]

Reply via email to