PQ66343: APPROPRIATE CONSTRUCT NOT USED TO LOCATE THE CLASS LOADER

 A fix is available

4.0.6: WebSphere Application Server Version 4.0 Fix Pack 6



APAR status
Closed as program error.

Error description
Problem appears to be that the IBM code does not use the
appropriate construct to locate the class loader in all
circumstances.
.
Customer has used WSAD to create and package a Web Service.
However when the customer uses his own PluggableEnvelopeEditor
class (modifying the cl-editor-config.xml file accordingly),
and invokes the Web Service, then he gets the following error:
.
exception:
SOAPException:faultCode=ServerEroor,msg=EditorConfProblem;
targetException=java.lang.ClassNotFoundException:test.PluggableT
est
.
App Server visibility is set to Application.
.
Customer has sent the ear file and instructions on how to
replicate the issue. This is part of customer's e-mail:
.
...
I've generated another EAR with the soap and xml utility jars
in.  These are just standard distribution jars with WebSphere.
.
- I will be e-mailing this file to ew@ibmde and will also put it
in the ftp site.
.
The point about the example is that it is just what you get
automatically produced by the IBM wizard code in WSAD, when you
have written a service (TestService.java - essentially empty)
and you ask IBM WSAD to turn it into a web service with the IBM
secure feature selected The standard IBM code produces the
proxy, wsdl, and jsp's.  Because the code is generated on my
PC, three items are hard coded in the proxy
(TestServiceProxy.java).  The IBM wizard generates get and set
methods in the jsp (TestClient.jsp) for each of these items
(EndPoint, EnvelopeEditorConfigURL, and
EnvelopeEditorHomeDirectory).  Use each se method and the
invoke button to change the values to match your server.
.
-
Example

http://localhost:9080/PluggableBug/sample/TestService/TestClient
.jsp
.
Alternatively you can change the hard coded values to match your
server configuration in the proxy class.  All the source code is
provided.
.
The only 'not out of the box' thing we have done is created our
own PluggableEnvelopeEditor (PluggableTest).  This again
essentially does nothing.  However we have changed
cl-editor-config.xml, to use our pluggable editor, rather than
the standard IBM class.  It's when we use our class, rather
than the IBM class that we get the error.
.
...
...
.
I have tried to replicate the issue. However I think due to lack
of
knowleadge on Web Services I haven't been able to do it.
.
You should see customer's error by
.
1) Setting EndPoint, EnvelopeEditorConfigURL and
EnvelopeEditorHomeDirectory as per above:
.
The standard IBM code produces the proxy, wsdl, and jsp's.
Because the
code is generated on my PC, three items are hard coded in the
proxy
(TestServiceProxy.java).  The IBM wizard generates get and set
methods
in the jsp (TestClient.jsp) for each of these items (EndPoint,
EnvelopeEditorConfigURL, and EnvelopeEditorHomeDirectory).  Use
each se
method and the invoke button to change the values to match your
server.
.
-
Example

http://localhost:9080/PluggableBug/sample/TestService/TestClient
.jsp
.
Alternatively you can change the hard coded values to match your
server
configuration in the proxy class.  All the source code is
provided.
.
2) Invoking the simpleMethod
.
In your JSP page, click simpleMethod
.

http://localhost:9080/PluggableBug/sample/TestService/TestClient
.jsp
.
The screen should show 'Inputs' on the right
.
In the text box labelled x: - enter an integer - say 2
.
Then click invoke.
.
You should see the SOAP exception now in Result
.
exception:
SOAPException:faultCode=ServerEroor,msg=EditorConfProblem;
targetException=java.lang.ClassNotFoundException:test.PluggableT
est
Local fix
I have tested this and reproduced the problem. The ClassNotFound
error does not occur if you place the
ElsevierPluginEnvelopeEditor.jar
file in the Websphere\Appserver\lib directory. Furthermore, I
took the soap- sec.jar and placed it in the root of the EAR
file and it also resolved the ClassNotFound exception.
Problem summary
****************************************************************
* USERS AFFECTED: All WebSphere Application Server users who   *
*                 use SOAP security.                           *
****************************************************************
* PROBLEM DESCRIPTION: The appropriate constructor not used to *
*                      locate the class loader in all          *
*                      circumstances.                          *
****************************************************************
* RECOMMENDATION:                                              *
****************************************************************
When the customer uses it's own PluggableEnvelopeEditor
class (modifying the cl-editor-config.xml file accordingly),
and invokes the Web Service, then the following error occured:
.
exception:
SOAPException:faultCode=ServerEroor,msg=EditorConfProblem;
targetException=java.lang.ClassNotFoundException:test.PluggableT
est
Problem conclusion
The class will now be loaded appropriately for
PluggableEnvelopeEditor.
Temporary fix
Available
Comments
APAR information
APAR number PQ66343
Reported component name WEBSPHERE AE NT
Reported component ID 5630A2201
Reported release 400
Status CLOSED PER
PE NoPE
HIPER NoHIPER
Submitted date 2002-09-18
Closed date 2002-12-17
Last modified date 2002-12-17

APAR is sysrouted FROM one or more of the following:

APAR is sysrouted TO one or more of the following:

Modules/Macros
SECURITY          

SRLS

Fix information
Fixed component name WEBSPHERE AE NT
Fixed component ID 5630A2201

Applicable component levels
R400 PSY    UP


Document Information


Product categories: Software > Application Servers > Distributed Application & Web Servers > WebSphere Application Server > General
Operating system(s):
Software version: 400
Software edition:
Reference #: PQ66343
IBM Group: Software Group
Modified date: Dec 17, 2002