It works!!
Thank you kindly Scott.
-----Original Message-----
From: Scott Nichol [mailto:[EMAIL PROTECTED]]
Sent: Wednesday, October 16, 2002 2:10 PM
To: [EMAIL PROTECTED]
Subject: Re: Fault Occured
Did you put your service class in %CATALINA_HOME%\classes?
Unfortunately, this does not work if the service class depends on
classes from Apache SOAP. You can either move your service classes to
%CATALINA_HOME%\webapps\soap\WEB-INF\classes, or do not use
XMLParserUtils. You can easily replace the XMLParserUtils code.
Here's all it does:
public class XMLParserUtils {
private static DocumentBuilderFactory dbf = null;
static {
// Create a default instance.
refreshDocumentBuilderFactory(null, true, false);
}
synchronized public static void refreshDocumentBuilderFactory(
String factoryClassName,
boolean namespaceAware,
boolean validating) {
if (factoryClassName != null) {
System.setProperty("javax.xml.parsers.DocumentBuilderFactory",
factoryClassName);
}
dbf = DocumentBuilderFactory.newInstance();
dbf.setNamespaceAware(namespaceAware);
dbf.setValidating(validating);
}
synchronized public static DocumentBuilder getXMLDocBuilder()
throws IllegalArgumentException {
try {
return dbf.newDocumentBuilder();
} catch (ParserConfigurationException pce) {
throw new IllegalArgumentException(pce.toString());
}
}
}
Scott Nichol
----- Original Message -----
From: "???" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Wednesday, October 16, 2002 12:36 AM
Subject: RE: Fault Occured
> SOAP 2.3.1 installed..
>
> ***
>
> Fault: [Attributes={}] [faultCode=SOAP-ENV:Server]
[faultString=Exception from service object:
org/apache/soap/util/xml/XMLParserUtils]
[faultActorURI=/soap/servlet/rpcrouter] [DetailEntries=
[(0)=<stackTrace>java.lang.NoClassDefFoundError:
org/apache/soap/util/xml/XMLParserUtils at
soap.ProductXMLService.getProduct(ProductXMLService.java:23) at
java.lang.reflect.Method.invoke(Native Method) at
org.apache.soap.server.RPCRouter.invoke(RPCRouter.java:146) at
org.apache.soap.providers.RPCJavaProvider.invoke(RPCJavaProvider.java:12
9) at
org.apache.soap.server.http.RPCRouterServlet.doPost(RPCRouterServlet.jav
a:354) at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica
tionFilterChain.java:247) at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt
erChain.java:193) at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValv
e.java:260) at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.i
nvokeNext(StandardPipeline.java:643) at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:4
80) at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValv
e.java:191) at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.i
nvokeNext(StandardPipeline.java:643) at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:4
80) at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at
org.apache.catalina.core.StandardContext.invoke(StandardContext.java:239
6) at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java
:180) at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.i
nvokeNext(StandardPipeline.java:643) at
org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherVa
lve.java:170) at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.i
nvokeNext(StandardPipeline.java:641) at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java
:172) at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.i
nvokeNext(StandardPipeline.java:641) at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:4
80) at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.
java:174) at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.i
nvokeNext(StandardPipeline.java:643) at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:4
80) at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at
org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:40
5) at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processC
onnection(Http11Protocol.java:380) at
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:50
8) at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool
.java:533) at java.lang.Thread.run(Thread.java:479) </stackTrace>] ]
[FaultEntries=]
>
>
>
> -----Original Message-----
> From: Scott Nichol [mailto:[EMAIL PROTECTED]]
> Sent: Wednesday, October 16, 2002 1:23 PM
> To: [EMAIL PROTECTED]
> Subject: Re: Fault Occured
>
>
> Is your service deployed with the following:
>
>
>
<isd:faultListener>org.apache.soap.server.DOMFaultListener</isd:faultLis
> tener>
>
> Is it deployed on SOAP 2.2 or 2.3? With the above in the deployment
> descriptor and SOAP 2.3 on the server, I would expect to see a stack
> trace in the DetailEntries.
>
> Scott Nichol
>
> ----- Original Message -----
> From: "???" <[EMAIL PROTECTED]>
> To: <[EMAIL PROTECTED]>
> Sent: Wednesday, October 16, 2002 12:12 AM
> Subject: RE: Fault Occured
>
>
> > Here is the result...
> >
> > Fault: [Attributes={}] [faultCode=SOAP-ENV:Server]
> [faultString=Exception from service object:
> org/apache/soap/util/xml/XMLParserUtils]
> [faultActorURI=/soap/servlet/rpcrouter] [DetailEntries=]
[FaultEntries=]
> Server Response:
> >
> >
> >
> > -----Original Message-----
> > From: Scott Nichol [mailto:[EMAIL PROTECTED]]
> > Sent: Wednesday, October 16, 2002 1:11 PM
> > To: [EMAIL PROTECTED]
> > Subject: Re: Fault Occured
> >
> >
> > Can you post a full stack trace? To get this, instead of something
> like
> > this on your client
> >
> > System.out.println (" Fault Code: " + fault.getFaultCode ());
> > System.out.println (" Fault String: " + fault.getFaultString
> ());
> >
> > just do something like
> >
> > System.out.println (" Fault: " + fault);
> >
> > Scott Nichol
> >
> > ----- Original Message -----
> > From: "???" <[EMAIL PROTECTED]>
> > To: <[EMAIL PROTECTED]>
> > Sent: Tuesday, October 15, 2002 11:53 PM
> > Subject: RE: Fault Occured
> >
> >
> > > *** Client Code
> > >
> > > ...
> > > ...
> > > ...
> > >
> > > public Element getProduct (String sku)
> > > throws SOAPException, MalformedURLException {
> > > Parameter skuParam;
> > >
> > > Call call = new Call();
> > > call.setEncodingStyleURI(Constants.NS_URI_LITERAL_XML);
> > >
> > > call.setTargetObjectURI("urn:examples:XMLProductservice");
> > > call.setMethodName("getProduct");
> > >
> > > Vector paramList = new Vector();
> > >
> > > DocumentBuilder docBuilder =
XMLParserUtils.getXMLDocBuilder();
> > > Document doc = docBuilder.newDocument();
> > >
> > > Element productNode = doc.createElement("product");
> > > productNode.setAttribute("sku", sku);
> > >
> > > skuParam = new Parameter("ProductNode",
> org.w3c.dom.Element.class,
> > > productNode,
> > Constants.NS_URI_LITERAL_XML);
> > > paramList.addElement(skuParam);
> > > call.setParams(paramList);
> > >
> > > URL url = new
> URL("http://localhost:8070/soap/servlet/rpcrouter");
> > >
> > > Response resp = call.invoke(url,null);
> > > ...
> > >
> > >
> > > *** Server Code
> > >
> > > ...
> > > ...
> > >
> > > public Element getProduct (Element request) {
> > > String sku = request.getAttribute("sku");
> > > ProductBean product = (ProductBean) products.get(sku);
> > >
> > > DocumentBuilder docBuilder =
XMLParserUtils.getXMLDocBuilder();
> > > Document doc = docBuilder.newDocument();
> > >
> > > Text productNameText = doc.createTextNode(product.getName());
> > > Element nameNode = doc.createElement("name");
> > > nameNode.appendChild(productNameText);
> > >
> > > Text productDescriptionText =
> > doc.createTextNode(product.getDescription());
> > > Element descriptionNode = doc.createElement("description");
> > > descriptionNode.appendChild(productDescriptionText);
> > >
> > > Text productPriceText =
> > doc.createTextNode(Double.toString(product.getPrice()));
> > > Element priceNode = doc.createElement("price");
> > > priceNode.appendChild(productPriceText);
> > >
> > > Element productNode = doc.createElement("product");
> > > productNode.setAttribute("sku",sku);;
> > > productNode.appendChild(nameNode);
> > > productNode.appendChild(descriptionNode);
> > > productNode.appendChild(priceNode);
> > > return productNode;
> > > }
> > >
> > > ...
> > > ...
> > >
> > >
> > > **
> > >
> > > sample code from "Web ServicesEssentials"-Ethan Cerami
> > >
> > >
> > > -----Original Message-----
> > > From: Scott Nichol [mailto:[EMAIL PROTECTED]]
> > > Sent: Wednesday, October 16, 2002 12:51 PM
> > > To: [EMAIL PROTECTED]
> > > Subject: Re: Fault Occured
> > >
> > >
> > > Exactly which sample are you running? What is the command line
you
> > are
> > > running?
> > >
> > > Scott Nichol
> > >
> > > ----- Original Message -----
> > > From: "???" <[EMAIL PROTECTED]>
> > > To: <[EMAIL PROTECTED]>
> > > Sent: Tuesday, October 15, 2002 11:42 PM
> > > Subject: RE: Fault Occured
> > >
> > >
> > > > Other samples work well..
> > > >
> > > > xerces: 2.2
> > > > soap:2.3 & 2.2
> > > > Apache Tomcat : 4.1
> > > >
> > > > i refered this site for installation..
> > > http://www.scottnichol.com/apachesoapinstall.htm :-)
> > > >
> > > > thanks a lot for your reply..
> > > >
> > > > -----Original Message-----
> > > > From: Scott Nichol [mailto:[EMAIL PROTECTED]]
> > > > Sent: Wednesday, October 16, 2002 2:49 AM
> > > > To: [EMAIL PROTECTED]
> > > > Subject: Re: Fault Occured
> > > >
> > > >
> > > > Do any other samples work? What XML parser (+version)
> > > > are you using? What servlet container? What
> > > > instructions did you follow for the installation?
> > > >
> > > > Scott Nichol
> > > >
> > > > --- ??? <[EMAIL PROTECTED]> wrote:
> > > > >
> > > > >
> > > > > I try to test sample SOAP code toworking with
> > > > > literal XML documents..
> > > > >
> > > > > but.. Fault occured...
> > > > >
> > > > >
> > > > > Fault Code: SOAP-ENV:Server
> > > > > Fault String: Exception from service object:
> > > > > org/apache/soap/util/xml/XMLParserUtils
> > > > >
> > > > >
> > > > > Anybody can help me???
> > > >
> > > >
> > > > __________________________________________________
> > > > Do you Yahoo!?
> > > > Faith Hill - Exclusive Performances, Videos & More
> > > > http://faith.yahoo.com
> > > >
> > > > --
> > > > To unsubscribe, e-mail:
> > <mailto:[EMAIL PROTECTED]>
> > > > For additional commands, e-mail:
> > <mailto:[EMAIL PROTECTED]>
> > >
> > >
> > > --
> > > To unsubscribe, e-mail:
> <mailto:[EMAIL PROTECTED]>
> > > For additional commands, e-mail:
> <mailto:[EMAIL PROTECTED]>
> >
> >
> > --
> > To unsubscribe, e-mail:
<mailto:[EMAIL PROTECTED]>
> > For additional commands, e-mail:
<mailto:[EMAIL PROTECTED]>
>
>
> --
> To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>