[
https://issues.apache.org/jira/browse/AXIS2-5354?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
praveen Vijayan updated AXIS2-5354:
-----------------------------------
Attachment: server.xml
SampleTestWS.zip
SampleRequest_and_endpointURL.txt
log_stackTrace.txt
Following 4 files are attached.
1. SampleTestWS.zip : This is a sample web service project that I created for
replicating the issue. It is an eclipse project which can be imported into
eclipse.
The application gets deployed as a WAR file in tomcat. Before deploying it, we
need to copy all axis2 1.6.2 jars (from Axis2 binary) to the lib folder.
2. log_stackTrace.txt : Stack trace showing look up exception.
3. SampleRequest_and_endpointURL.txt : sample request and soap endpoint (when
the service is deployed in tomcat)
4. server.xml : Tomcat server.xml file where datasource is declared. We need to
provide appropriate jdbc connect string and database user credentials in this.
> JNDI NameNotFoundException with Axis2 1.6.2 JAXWS webservice.
> -------------------------------------------------------------
>
> Key: AXIS2-5354
> URL: https://issues.apache.org/jira/browse/AXIS2-5354
> Project: Axis2
> Issue Type: Bug
> Components: jaxws
> Affects Versions: 1.6.2
> Environment: JDK 1.6, Tomcat 7
> Reporter: praveen Vijayan
> Attachments: SampleRequest_and_endpointURL.txt, SampleTestWS.zip,
> log_stackTrace.txt, server.xml
>
>
> I am facing a problem with JNDI lookup when we moved our JAX-WS based web
> service from Axis2 1.6.1 to axis 1.6.2 library.
> Following is the exception that gets thrown from the Impl class :
> Caused by: javax.naming.NameNotFoundException: Name java:comp is not bound in
> this Context
> at org.apache.naming.NamingContext.lookup(NamingContext.java:803)
> at org.apache.naming.NamingContext.lookup(NamingContext.java:159)
> at javax.naming.InitialContext.lookup(InitialContext.java:392)
>
> The service runs on Tomcat 7 (JDK 6) and deployed as a WAR application. It
> was working fine (i.e. it was able to lookup the name) when I was using 1.6.1
> version of axis jar.I have declared the JNDI resource names in
> context.xml.The problem started when I discarded 1.6.1 jars and started using
> 1.6.2 Axis2 jars.
> It looks like the issue is happening due to Thread Context Class Loader
> (TCCL) setting in JAXWSMessageReceiver.java.Here is the block of code that I
> suspect is causing the issue for us.
> AxisService service = axisRequestMsgCtx.getAxisService();
> // we need to set the deployment class loader as the TCCL. This is
> because, in JAX-WS
> // services, there can be situations where we have to load classes
> from the deployment
> // artifact (JAX-WS jar file) in the message flow. Ex: Handler
> classes in the service
> // artifact. Adding this as a fix for AXIS2-4930.
> setContextClassLoader(service.getClassLoader());
>
> I think when the service class's class loader is set as TCCL, the JNDI object
> present in WebAppClassLoader become invisible to the current TCCL. If I
> comment 'setContextClassLoader(...)' statement the JNDI lookup passes (i.e.
> it works fine.).
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]