You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by Alicia Sánchez-Mora <al...@gmail.com> on 2007/03/02 15:54:47 UTC
InvocationTargetException
Hello,
I am developig a web service in Java. I use axis 1.4 and tomcat 5.5. From
the Client (Client.java) side I have to call some services in the class (
SDMInterfaceImpl.java). All was working correctly but now I have to add a
GUI. Every time I call I service in a graphical window should appear a
message. When I add to my application the new code to run the GUI I have the
following error in the client side:
Exception in thread "main" AxisFault
faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
<http://schemas.xmlsoap.org/soap/envelope/%7DServer.userException>
faultSubcode:
faultString: java.lang.reflect.InvocationTargetException
faultActor:
faultNode:
faultDetail:
{ http://xml.apache.org/axis/}hostname:kif.mwrl.net
<http://xml.apache.org/axis/%7Dhostname:kif.mwrl.net>
java.lang.reflect.InvocationTargetException
at org.apache.axis.message.SOAPFaultBuilder.createFault(
SOAPFaultBuilder.java:222)
at org.apache.axis.message.SOAPFaultBuilder.endElement (
SOAPFaultBuilder.java :129)
at org.apache.axis.encoding.DeserializationContext.endElement(
DeserializationContext.java:1087)
at
com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement (
AbstractSAXParser.java :633)
at
com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanEndElement
(XMLNSDocumentScannerImpl.java:713)
at
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(
XMLDocumentFragmentScannerImpl.java:1685)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragm
entScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl .java:368)
at
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse (
XML11Configuration.java:834)
at
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(
XML11Configuration.java:764)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(
XMLParser.java :148)
at
com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(
AbstractSAXParser.java:1242)
at javax.xml.parsers.SAXParser.parse (SAXParser.java:375)
at org.apache.axis.encoding.DeserializationContext.parse (
DeserializationContext.java:227)
at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:696)
at org.apache.axis.Message.getSOAPEnvelope (Message.java:435)
at org.apache.axis.handlers.soap.MustUnderstandChecker.invoke (
MustUnderstandChecker.java:62)
at org.apache.axis.client.AxisClient.invoke(AxisClient.java:206)
at org.apache.axis.client.Call.invokeEngine (Call.java:2784)
at org.apache.axis.client.Call.invoke (Call.java:2767)
at org.apache.axis.client.Call.invoke(Call.java:2443)
at org.apache.axis.client.Call.invoke(Call.java:2366)
at org.apache.axis.client.Call.invoke(Call.java:1812)
at org.ambientnetworks.sd_sde.client.Client.main(Client.java:55)
I attach here the service and the client code too. Could someone tell me
where the error comes from? And is it correct the way I create the GUI?
package org.ambientnetworks.sd_sde;
import java.awt.*;
import java.awt.event.*;
public class SDMInterfaceImpl extends Thread implements SDMInterface{
private String hit = "hit";
private String dummy_result = "ok";
private int result;
private int puzzle;
private List listOptions;
private static SDMInterfaceImpl instance;
private Frame f;
private TextField txtResults;
//public SDMInterfaceImpl() {
public void init() {
//init the GUI
f = new Frame();
txtResults = new TextField();
listOptions = new List();
f.add(listOptions);
f.pack();
f.setVisible(true);
}
public static SDMInterfaceImpl getInstance () {
if(instance == null) {
instance = new SDMInterfaceImpl ();
}
return instance;
}
public String reqConn(String src, String dst){
final String sourceHIT = src;
final String destinationHIT = dst;
new Thread (){
public void run (){
try {
if (sourceHIT.equals(hit)) {
String res = "ok";
result = new Integer (1);
puzzle =1;
}
else {
String res = "notOK"
result= new Integer (0);
puzzle = 10;
}
init();
listOptions.addItem("reqConn");
}catch (Exception e) {
e.printStackTrace();
}
}
}.start();
return dummy_result;
}
}
*************************************************************************
import org.ambientnetworks.sd_sde.utils.*;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import org.apache.axis.encoding.XMLType;
import org.apache.axis.utils.Options;
import javax.xml.rpc.ParameterMode;
import java.awt.*;
import java.awt.event.*;
public class Client {
public static void main (String [] args) throws Exception {
SDMInterfaceImpl sdm = SDMInterfaceImpl.getInstance ();
sdm.init();
String endpoint = " http://localhost:8180/SecurityDomainManager/services/sdm
";
String method = "reqConn";
Service service = new Service ();
Call call = (Call) service.createCall();
call.setTargetEndpointAddress (new java.net.URL(endpoint));
call.setOperationName (method);
call.addParameter ("par1", XMLType.XSD_STRING, ParameterMode.IN);
call.addParameter ("par2", XMLType.XSD_STRING, ParameterMode.IN );
call.setReturnType (XMLType.XSD_STRING);
String result = (String) call.invoke (new Object [] {"hit_a", "hit_b"});
System.out.println ("Got response =" + result);
}
}
Thanks in advance,
Alicia