在Tomcat上GWT调用Axis2不';行不通

在Tomcat上GWT调用Axis2不';行不通,gwt,tomcat,tomcat7,axis2,gwt-rpc,Gwt,Tomcat,Tomcat7,Axis2,Gwt Rpc,当我尝试从使用部署在tomcat 7上的GWT编写的java服务器调用web服务时,出现以下错误: java.lang.NumberFormatException: For input string: "" at java.lang.NumberFormatException.forInputString(Unknown Source) at java.lang.Integer.parseInt(Unknown Source) at java.lang.Integer.parseInt(Unkn

当我尝试从使用部署在tomcat 7上的GWT编写的java服务器调用web服务时,出现以下错误:

java.lang.NumberFormatException: For input string: ""
at java.lang.NumberFormatException.forInputString(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at org.apache.axis2.transport.http.util.HTTPProxyConfigurationUtil.configure(HTTPProxyConfigurationUtil.java:154)
at org.apache.axis2.transport.http.AbstractHTTPSender.getHostConfiguration(AbstractHTTPSender.java:294)
at org.apache.axis2.transport.http.AbstractHTTPSender.executeMethod(AbstractHTTPSender.java:591)
at org.apache.axis2.transport.http.HTTPSender.sendViaPost(HTTPSender.java:193)
at org.apache.axis2.transport.http.HTTPSender.send(HTTPSender.java:75)
at org.apache.axis2.transport.http.CommonsHTTPTransportSender.writeMessageWithCommons(CommonsHTTPTransportSender.java:404)
at org.apache.axis2.transport.http.CommonsHTTPTransportSender.invoke(CommonsHTTPTransportSender.java:231)
at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:443)
at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:406)
at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:229)
at org.apache.axis2.client.OperationClient.execute(OperationClient.java:165)
at org.apache.axis2.client.ServiceClient.sendReceive(ServiceClient.java:555)
at org.apache.axis2.client.ServiceClient.sendReceive(ServiceClient.java:531)
at org.apache.axis2.rpc.client.RPCServiceClient.invokeBlocking(RPCServiceClient.java:102)
at me.project.server.WSClient.skosClassifier(WSClient.java:103)
at me.project.server.ServerProxyImpl.getFromRemoteServer(ServerProxyImpl.java:420)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:569)
at com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:208)
at com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServiceServlet.java:248)
at com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(AbstractRemoteServiceServlet.java:62)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
如果我部署在另一个应用服务器(如jetty)上,则不会出现错误。 tomcat有什么问题

以下是调用web服务的代码:

static String skosClassifier(String repository,String message) throws AxisFault {
    RPCServiceClient serviceClient = new RPCServiceClient();
    Options opt = serviceClient.getOptions();
    opt.setTo(targetEPR);
    QName opEcho = new QName("http://service.project.me","skosClassifier");
    BufferedReader console=new BufferedReader(new InputStreamReader(System.in));
    try{
        Object[] opEchoArgs=null;
        Class[] returnTypes=new Class[]{String.class};
        Object[] response=null;
        opEchoArgs=new Object[]{repository,message,false};
        response=serviceClient.invokeBlocking(opEcho, opEchoArgs, returnTypes);
        String returnValue = (String)response[0];
        return returnValue;
    } catch (Exception e){
        e.printStackTrace();
    }
    return "SERVER ERROR";

我正在查看显示NumberFormatException的堆栈跟踪

查看文件HTTPProxyConfigurationUtil(我正在检查axis2-1.6.2),该行正在解析代理端口。以下是相关代码

String port = System.getProperty(HTTP_PROXY_PORT);
        if(port != null) {
            proxyPort = Integer.parseInt(port);
        }

您是否为HTTP\U PROXY\U端口设置了有效的整数值?您需要检查传入JVM的参数。

请检查
web.xml
标题是否正确。通常,错误来自于对web服务的调用:RPCServiceClient.invokeBlocking(…)该代码可以独立运行,也可以与其他应用程序服务器一起运行。您应该提供该代码,因为这样会得到更好的响应。我在问题中添加了该代码,但我重复一遍:该方法是有效的。我的意思是问题在于tomcat,一些错误的配置或者JAR冲突。web.xml头是由gwt插件自动生成的。我所有的servlet都能工作。所有这些都与其他应用程序服务器配合使用。只有该指令会引发异常。在哪里可以找到此设置?setenv.bat、senenv.sh..这些是tomcat文件。如果服务器在linux上运行,请检查setenv.sh,如果服务器在windows上运行,请检查setenv.bat..这些文件将包含在tomcat启动时传递给JVM的系统属性。您将在/bin下找到这些文件我在/bin下没有这些文件(或在tomcat的其他文件夹下),在这种情况下,您需要检查catalina.sh、catalina.bat或startup.sh,bat..您需要确定是否有任何值被传递到JVM的HTTP_PROXY_端口..通常是这些文件之一..我假设您正在使用这些脚本之一运行tomcat,而不是从Eclipse这样的IDE运行,IntellijI没有这些文件。我在Windows上独立安装了tomcat作为服务。