Dear All.

Sorry for my mistake and confusion.
There's no problem in Axis.
I mistook about the compiling environment and the executing environment.
When the Tomcat is starting, the initializing process is called.
And then, the configure process which I made is called.
When I'm debugging by the eclipse, it said that the configure process is 
correct.
But when I'm seeing it carefully, the configure process was not called by the 
Tomcat. 
The eclipse sees the compiling environment, not the execute environment.
Sorry for my confusion and poor English.

Best regards.

----- Original Message -----
From: Norio Sasagawa <n-sasag...@ka2.so-net.ne.jp>
Date: Sat, 09 May 2009 09:02:20 +0900
To: axis-dev@ws.apache.org
Cc: n-sasag...@ka2.so-net.ne.jp
Subject: java.lang.reflect.InvocationTargetException occurred when using 
Configure.getString()

Dear all,

There's no reply. I put this again.
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>-----
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);
   }
}


-----< 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