You are viewing a plain text version of this content. The canonical link for it is here.
Posted to soap-dev@xml.apache.org by Norman Mann <ap...@dsl.pipex.com> on 2002/11/26 19:53:00 UTC

soap client, weblogic and classpaths

Hi all, 
I am having a few problems with soap and classpaths. 
This may sound simple on the face of it but it is confusing me! 
First we have a soap client using the apache soap client code, talking
to weblogic 6. 
I remember at the time having to put xerces in the start of the
classpath for weblogic and setting up and XML registry for weblogic to
use.
SOAP required some classes from javax.mail etc, so i remember lazily at
the time getting this from the current version of weblogic.jar (6.1 I
believe).
With some reordering of things in the class path this seemed to work
fine. 
However we have since upgraded to service pack 3 for weblogic 6. And
with this in the client side classpath I only get null responses from
soap.
It is not an option to just stick with the old weblogic.jar as we will
shortly be making soap requests from within weblogic.
I have done a bit of digging and found this to be the problem. A file
exists in weblogic.jar called javax.xml.parsers.DocumentBuilderFactory.
I assume this points to
the factory used for generating specific parser XML documents. The class
contained in this file is different between the two weblogic versions.
This however is not a problem becuase on
a client I can create my own and have this in the classpath first, or
within weblogic I can use XML registry to set it. 
However the question is what to set this two. When the client used to
work (pre service pack 3 weblogic.jar) soap used to get the response and
create an element of type org.apache.crimson.tree.ElementNode.
I am not sure why it chose this. The class used to exist in the old
weblogic.jar. This has since been removed from weblogic.jar post service
pack 3. The class I am not getting returned on the soap client is either
weblogic.apache.xerces.dom.DeferredElementImpl or
org.apache.xerces.dom.DeferredElementNSImpl. I can quite easily make it
create the latter one, either on the client or within weblogic by
changing the classpath or XML registry respectively. However soap
doesn't seem to like this and gives me a null value in the
((Element)result1.getValue()).toString() call.
Soap seems to want a org.apache.crimson.tree.ElementNode to be created.
Why cant it handle the others? Can I make it do so? 
Any help appreciated 
Thanks 
Norman