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>



Reply via email to