Sorry. Test Client is not correct. The correct is as follows. -----< TestClient>----- 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.namespace.QName; import javax.xml.rpc.ParameterMode; public class Test5Client { public static void main(String [] args) throws Exception { Options options = new Options(args); String endpoint = "http://localhost:" + options.getPort() + "/axis/TestTest5.jws"; args = options.getRemainingArgs(); if (args == null || args.length > 2) { System.err.println("Usage: Tes5tClient <TestTestShowName|TestTestEchoName> arg1-1 "); return; } String method = args[0]; if (!(method.equals("TestTestShowName") || method.equals("TestTestEchoName"))) { System.err.println("Usage: Test5Client <TestTestShowName|TestTestEchoName> arg1-2 "); return; } String sTring = new String(args[1]); Service service = new Service(); Call call = (Call) service.createCall(); call.setTargetEndpointAddress( new java.net.URL(endpoint) ); call.setOperationName( new QName( endpoint, method )); call.addParameter( "in0", XMLType.XSD_STRING, ParameterMode.IN ); call.setReturnType( XMLType.XSD_STRING ); System.err.println("endpoint:" + endpoint); System.err.println("method :" + method); System.err.println("sTring :" + sTring); String ret = (String) call.invoke( new Object [] { sTring, }); System.out.println("Name : " + ret); } } ----- Original Message ----- Date: Fri, 08 May 2009 03:28:30 +0900 To: axis-dev@ws.apache.org, axis-u...@ws.apache.org Cc: n-sasag...@ka2.so-net.ne.jp Subject: java.lang.reflect.InvocationTargetException occurred when using Configure.getString() From: Norio Sasagawa <n-sasag...@ka2.so-net.ne.jp> Dear all, Please help me! I'm using axis 1.4 and Tomcat 6.0. When I making Configure.class with getString() method, the following error occurred. What is wrong? I can not catch the Exception. So, I'm not sure which Exception was thrown out. And I can not get the getCause(). When using eclipse, F5 key did not call on Configure.getString(). Another case, TestTestEchoName works fine. Any advice will help me. Thanks in advance. -----< Stack Trace >----- D:\_Axis\axis-bin-1_4\axis-1_4>java Test5Client TestTestShowName Me endpoint:http://localhost:8080/axis/TestTest5.jws method :TestTestShowName sTring :Me Exception in thread "main" AxisFault faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException faultSubcode: faultString: java.lang.reflect.InvocationTargetException faultActor: faultNode: faultDetail: {http://xml.apache.org/axis/}hostname:FM-B05870457267 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:601) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEndElement (XMLDocumentFragmentScannerImpl.java:1774) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next (XMLDocumentFragmentScannerImpl.java:2930) at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:648) at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:140) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument (XMLDocumentFragmentScannerImpl.java:510) at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:807) at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737) at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:107) at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205) at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522) at javax.xml.parsers.SAXParser.parse(SAXParser.java:395) 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 Test5Client.main(Test5Client.java:44) -----<.jws>----- public class TestTest5 { private static String workName = "TestTest5"; public static String getString(){ return workName; } public String TestTestShowName(String inputString) { String workString = Configure.getString(); return("Norio Sasagawa" + workString); } public String TestTestEchoName(String inputString) { String workString = TestTest5.getString(); return(inputString + workString); } -----< Configure.java >----- public class Configure { private static String workName = "Configure"; public static String getString(){ return workName; } } -----< TestClient >----- public class TestTest5 { private static String workName = "TestTest5"; public static String getString(){ return workName; } public String TestTestShowName(String inputString) { String workString = Configure.getString(); return("Norio Sasagawa" + workString); } public String TestTestEchoName(String inputString) { String workString = TestTest5.getString(); return(inputString + workString); } } -----< http://localhost:8080/axis/TestTest5.jws?wsdl Result >----- <?xml version="1.0" encoding="UTF-8" ?> <wsdl:definitions targetNamespace="http://localhost:8080/axis/TestTest5.jws" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://localhost:8080/axis/TestTest5.jws" xmlns:intf="http://localhost:8080/axis/TestTest5.jws" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <!-- WSDLăŻApache Axis version: 1.2.1 / [en]-(WSDL created by Apache Axis version: 1.2.1 Built on Jun 14, 2005 (09:15:57 EDT)) --> <wsdl:message name="TestTestShowNameResponse"> <wsdl:part name="TestTestShowNameReturn" type="xsd:string" /> </wsdl:message> <wsdl:message name="getStringResponse"> <wsdl:part name="getStringReturn" type="xsd:string" /> </wsdl:message> <wsdl:message name="TestTestShowNameRequest"> <wsdl:part name="in0" type="xsd:string" /> </wsdl:message> <wsdl:message name="TestTestEchoNameRequest"> <wsdl:part name="in0" type="xsd:string" /> </wsdl:message> <wsdl:message name="getStringRequest" /> <wsdl:message name="TestTestEchoNameResponse"> <wsdl:part name="TestTestEchoNameReturn" type="xsd:string" /> </wsdl:message> <wsdl:portType name="TestTest5"> <wsdl:operation name="getString"> <wsdl:input message="impl:getStringRequest" name="getStringRequest" /> <wsdl:output message="impl:getStringResponse" name="getStringResponse" /> </wsdl:operation> <wsdl:operation name="TestTestShowName" parameterOrder="in0"> <wsdl:input message="impl:TestTestShowNameRequest" name="TestTestShowNameRequest" /> <wsdl:output message="impl:TestTestShowNameResponse" name="TestTestShowNameResponse" /> </wsdl:operation> <wsdl:operation name="TestTestEchoName" parameterOrder="in0"> <wsdl:input message="impl:TestTestEchoNameRequest" name="TestTestEchoNameRequest" /> <wsdl:output message="impl:TestTestEchoNameResponse" name="TestTestEchoNameResponse" /> </wsdl:operation> </wsdl:portType> <wsdl:binding name="TestTest5SoapBinding" type="impl:TestTest5"> <wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http" /> <wsdl:operation name="getString"> <wsdlsoap:operation soapAction="" /> <wsdl:input name="getStringRequest"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://DefaultNamespace" use="encoded" /> </wsdl:input> <wsdl:output name="getStringResponse"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8080/axis/TestTest5.jws" use="encoded" /> </wsdl:output> </wsdl:operation> <wsdl:operation name="TestTestShowName"> <wsdlsoap:operation soapAction="" /> <wsdl:input name="TestTestShowNameRequest"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://DefaultNamespace" use="encoded" /> </wsdl:input> <wsdl:output name="TestTestShowNameResponse"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8080/axis/TestTest5.jws" use="encoded" /> </wsdl:output> </wsdl:operation> <wsdl:operation name="TestTestEchoName"> <wsdlsoap:operation soapAction="" /> <wsdl:input name="TestTestEchoNameRequest"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://DefaultNamespace" use="encoded" /> </wsdl:input> <wsdl:output name="TestTestEchoNameResponse"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8080/axis/TestTest5.jws" use="encoded" /> </wsdl:output> </wsdl:operation> </wsdl:binding> <wsdl:service name="TestTest5Service"> <wsdl:port binding="impl:TestTest5SoapBinding" name="TestTest5"> <wsdlsoap:address location="http://localhost:8080/axis/TestTest5" /> </wsdl:port> </wsdl:service> </wsdl:definitions>