Paul, coincidentally I've gotten the same error message and trace back
twice in the last 24 hours after I had changed an operation signature
in my WSDL. However, the core problems had nothing to do with the WSDL or
Axis.
Both times the problem occurred because a class was referencing a
non-existent method on another class.  In one case I had an old
jar file with the wrong version installed on the server.  (My ant deploy
task was not copying the jars as I had thought.)
In the second case I had changed a method name and not changed all the
references.

So, when I get this message I do three things:
1. Do a clean build of all sources, (which you've already done).
2. Double check the jar files on the server to make sure they match those
in my build system.
3. Add debug statements in my services to pinpoint the problem location.
I have code that should have caught and reported the trace back of the
exception, that did not happen for this case.  I was surprised when
log.debug() statements led me back to the heart of my service code and
the offending reference inside a try block.  Though I caught Exception,
and InvocationTargetException is derived from Exception, my handling
code was bypassed.  So in this case you need to use old-time debugging
methods to trackdown the problem.

--Sergeant

-----Original Message-----
From: Paul Phillips [mailto:[EMAIL PROTECTED]
Sent: Saturday, March 27, 2004 10:35 AM
To: [EMAIL PROTECTED]
Subject: InvocationTargetException


I'm trying to call a function on my axis server that I have changed
today to accept two parameters, whereas before it accepted none.
However, upon rebuilding and deploying it I keep getting the error:

AxisFault
  faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
  faultSubcode:
  faultString: java.lang.reflect.InvocationTargetException
  faultActor:
  faultNode:
  faultDetail:
         {http://xml.apache.org/axis/}stackTrace: AxisFault
  faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
  faultSubcode:
  faultString: java.lang.reflect.InvocationTargetException
  faultActor:
  faultNode:
  faultDetail:
java.lang.reflect.InvocationTargetException
         at
org.apache.axis.message.SOAPFaultBuilder.createFault(SOAPFaultBuilder.java:2
60)
         at
org.apache.axis.message.SOAPFaultBuilder.endElement(SOAPFaultBuilder.java:16
9)
         at
org.apache.axis.encoding.DeserializationContextImpl.endElement(Deserializati
onContextImpl.java:1015)
         at
org.apache.xerces.parsers.AbstractSAXParser.endElement(AbstractSAXParser.jav
a:579)
         at
org.apache.xerces.impl.XMLNamespaceBinder.handleEndElement(XMLNamespaceBinde
r.java:897)
         at
org.apache.xerces.impl.XMLNamespaceBinder.endElement(XMLNamespaceBinder.java
:643)
         at
org.apache.xerces.impl.dtd.XMLDTDValidator.handleEndElement(XMLDTDValidator.
java:1972)
         at
org.apache.xerces.impl.dtd.XMLDTDValidator.endElement(XMLDTDValidator.java:8
78)
         at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.handleEndElement(XMLDo
cumentFragmentScannerImpl.java:1144)
         at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanEndElement(XMLDocu
mentFragmentScannerImpl.java:987)
         at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatc
her.dispatch(XMLDocumentFragmentScannerImpl.java:1445)
         at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocume
ntFragmentScannerImpl.java:333)
         at
org.apache.xerces.parsers.DTDConfiguration.parse(DTDConfiguration.java:524)
         at
org.apache.xerces.parsers.DTDConfiguration.parse(DTDConfiguration.java:580)
         at org.apache.xerces.parsers.XMLParser.parse(XMLParser.java:152)
         at
org.apache.xerces.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:116
9)
         at javax.xml.parsers.SAXParser.parse(SAXParser.java:345)
         at
org.apache.axis.encoding.DeserializationContextImpl.parse(DeserializationCon
textImpl.java:242)
         at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:538)
         at org.apache.axis.Message.getSOAPEnvelope(Message.java:376)
         at org.apache.axis.client.Call.invokeEngine(Call.java:2583)
         at org.apache.axis.client.Call.invoke(Call.java:2553)
         at org.apache.axis.client.Call.invoke(Call.java:2248)
         at org.apache.axis.client.Call.invoke(Call.java:2171)
         at org.apache.axis.client.Call.invoke(Call.java:1691)
         at
samples.project.server.Archive.ArchiveSoapBindingStub.getAllArchiveDetails(A
rchiveSoapBindingStub.java:158)
         at samples.project.Archive.populateArchiveTable(Archive.java:49)
         at
samples.project.MainForm$GetArchivesAction.actionPerformed(MainForm.java:209
)
         at
javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1786)
         at
javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(AbstractButto
n.java:1839)
         at
javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:4
20)
         at
javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
         at
javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener
.java:245)
         at java.awt.Component.processMouseEvent(Component.java:5100)
         at java.awt.Component.processEvent(Component.java:4897)
         at java.awt.Container.processEvent(Container.java:1569)
         at java.awt.Component.dispatchEventImpl(Component.java:3615)
         at java.awt.Container.dispatchEventImpl(Container.java:1627)
         at java.awt.Component.dispatchEvent(Component.java:3477)
         at
java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:3483)
         at
java.awt.LightweightDispatcher.processMouseEvent(Container.java:3198)
         at
java.awt.LightweightDispatcher.dispatchEvent(Container.java:3128)
         at java.awt.Container.dispatchEventImpl(Container.java:1613)
         at java.awt.Window.dispatchEventImpl(Window.java:1606)
         at java.awt.Component.dispatchEvent(Component.java:3477)
         at java.awt.EventQueue.dispatchEvent(EventQueue.java:456)
         at
java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.ja
va:201)
         at
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java
:151)
         at
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:145)
         at
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:137)
         at java.awt.EventDispatchThread.run(EventDispatchThread.java:100)
java.lang.reflect.InvocationTargetException
         at
org.apache.axis.message.SOAPFaultBuilder.createFault(SOAPFaultBuilder.java:2
60)
         at
org.apache.axis.message.SOAPFaultBuilder.endElement(SOAPFaultBuilder.java:16
9)
         at
org.apache.axis.encoding.DeserializationContextImpl.endElement(Deserializati
onContextImpl.java:1015)
         at
org.apache.xerces.parsers.AbstractSAXParser.endElement(AbstractSAXParser.jav
a:579)
         at
org.apache.xerces.impl.XMLNamespaceBinder.handleEndElement(XMLNamespaceBinde
r.java:897)
         at
org.apache.xerces.impl.XMLNamespaceBinder.endElement(XMLNamespaceBinder.java
:643)
         at
org.apache.xerces.impl.dtd.XMLDTDValidator.handleEndElement(XMLDTDValidator.
java:1972)
         at
org.apache.xerces.impl.dtd.XMLDTDValidator.endElement(XMLDTDValidator.java:8
78)
         at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.handleEndElement(XMLDo
cumentFragmentScannerImpl.java:1144)
         at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanEndElement(XMLDocu
mentFragmentScannerImpl.java:987)
         at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatc
her.dispatch(XMLDocumentFragmentScannerImpl.java:1445)
         at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocume
ntFragmentScannerImpl.java:333)
         at
org.apache.xerces.parsers.DTDConfiguration.parse(DTDConfiguration.java:524)
         at
org.apache.xerces.parsers.DTDConfiguration.parse(DTDConfiguration.java:580)
         at org.apache.xerces.parsers.XMLParser.parse(XMLParser.java:152)
         at
org.apache.xerces.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:116
9)
         at javax.xml.parsers.SAXParser.parse(SAXParser.java:345)
         at
org.apache.axis.encoding.DeserializationContextImpl.parse(DeserializationCon
textImpl.java:242)
         at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:538)
         at org.apache.axis.Message.getSOAPEnvelope(Message.java:376)
         at org.apache.axis.client.Call.invokeEngine(Call.java:2583)
         at org.apache.axis.client.Call.invoke(Call.java:2553)
         at org.apache.axis.client.Call.invoke(Call.java:2248)
         at org.apache.axis.client.Call.invoke(Call.java:2171)
         at org.apache.axis.client.Call.invoke(Call.java:1691)
         at
samples.project.server.Archive.ArchiveSoapBindingStub.getAllArchiveDetails(A
rchiveSoapBindingStub.java:158)
         at samples.project.Archive.populateArchiveTable(Archive.java:49)
         at
samples.project.MainForm$GetArchivesAction.actionPerformed(MainForm.java:209
)
         at
javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1786)
         at
javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(AbstractButto
n.java:1839)
         at
javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:4
20)
         at
javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
         at
javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener
.java:245)
         at java.awt.Component.processMouseEvent(Component.java:5100)
         at java.awt.Component.processEvent(Component.java:4897)
         at java.awt.Container.processEvent(Container.java:1569)
         at java.awt.Component.dispatchEventImpl(Component.java:3615)
         at java.awt.Container.dispatchEventImpl(Container.java:1627)
         at java.awt.Component.dispatchEvent(Component.java:3477)
         at
java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:3483)
         at
java.awt.LightweightDispatcher.processMouseEvent(Container.java:3198)
         at
java.awt.LightweightDispatcher.dispatchEvent(Container.java:3128)
         at java.awt.Container.dispatchEventImpl(Container.java:1613)
         at java.awt.Window.dispatchEventImpl(Window.java:1606)
         at java.awt.Component.dispatchEvent(Component.java:3477)
         at java.awt.EventQueue.dispatchEvent(EventQueue.java:456)
         at
java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.ja
va:201)
         at
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java
:151)
         at
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:145)
         at
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:137)
         at java.awt.EventDispatchThread.run(EventDispatchThread.java:100)

I have tried cmopletly rebuilding from scratch (ie. deleting everything
except my *impl.java file and then running java2WSDL then WSDL2java
before finally undeploying and deploying the service, copying my class
files to where they should be and restarting Tomcat).

So I know my stub and skeleton files have been updated properly to
accept my change to the parameters this function takes.  I don't have a
problem with my other classes and functions, they all still work fine,
so it's not a server setup problem.

The code I'm using to call the function is:

java.net.URL endpoint = new java.net.URL(WSURL + "Archive");
             ArchiveServiceLocator service = new ArchiveServiceLocator();
             samples.project.server.Archive.Archive port =
service.getArchive(endpoint);
             archives = port.getAllArchiveDetails(userID, authKey);


and my server config file has this for this particular class:

<service name="Archive" provider="java:RPC">
   <parameter name="allowedMethods" value="*"/>
   <parameter name="wsdlPortType" value="Archive"/>
   <parameter name="scope" value="Session"/>
   <parameter name="className"
value="samples.project.server.Archive.ArchiveSoapBindingSkeleton"/>
   <parameter name="wsdlServicePort" value="Archive"/>
   <parameter name="wsdlTargetNamespace" value="urn:FYprojectArchive"/>
   <parameter name="wsdlServiceElement" value="ArchiveService"/>
  </service>

I don't get any error logs in catalina.out either


any help much appreciated

~Paul Phillips

Reply via email to