【问题标题】:axis2 invokeNonBlocking NullPointerExceptionaxis2 invokeNonBlocking NullPointerException
【发布时间】:2016-03-30 13:13:11
【问题描述】:

当我使用 RPCServiceClient 和异步调用时,它会抛出 NullPointerException。但是使用 RPCServiceClient.invokeBlocking 是正常的。 我的axis2版本是1.6.4。

这是我的代码:

public void sendMsg(String xmldata, AxisCallback callback) throws AxisFault {
    	String webServiceURL = "http://171.8.212.68:8191/axis2/services/UserService";
        String sendflag = "true";
        if ("true".equals(sendflag)) {
           
            RPCServiceClient serviceClient = new RPCServiceClient();
            Options options = serviceClient.getOptions();
            EndpointReference targetEPR = new EndpointReference(webServiceURL);
            options.setTo(targetEPR);
            Object[] opAddEntryArgs = new Object[]{xmldata};
            QName opAddEntry = new QName("http://downstream.sysinterface.topsms.topnet.com", "sendMsg");
            if (callback == null) {
                callback = new AxisCallback() {
                    public void onComplete() {
                        // TODO Auto-generated method stub
                        System.out.println("***********onComplete");
                    }

                    public void onError(Exception exception) {
                        // TODO Auto-generated method stub
                        exception.printStackTrace();
                        System.out.println("***********onError:"+exception.getMessage()+":"+ Arrays.toString(exception.getStackTrace()));
                        System.out.println(getStackTrace(exception));
                    }

                    public void onFault(MessageContext context) {
                        // TODO Auto-generated method stub
                        System.out.println("***********onFault");
                    }

                    public void onMessage(MessageContext context) {
                        // TODO Auto-generated method stub
                        System.out.println("***********onMessage");
                    }
                };
            }
            
            serviceClient.invokeNonBlocking(opAddEntry, opAddEntryArgs, callback);
            serviceClient.cleanupTransport();
            serviceClient.cleanup();
        }
    }

【问题讨论】:

  • 请同时发布工作代码和非工作代码,以及错误消息的堆栈跟踪。

标签: java asynchronous nullpointerexception axis2 rpc


【解决方案1】:

例外情况如下:

java.lang.NullPointerException
	at org.apache.axis2.context.AbstractContext.needPropertyDifferences(AbstractContext.java:239)
	at org.apache.axis2.context.AbstractContext.setProperty(AbstractContext.java:202)
	at org.apache.axis2.transport.http.AbstractHTTPSender.getHttpClient(AbstractHTTPSender.java:568)
	at org.apache.axis2.transport.http.HTTPSender.sendViaPost(HTTPSender.java:157)
	at org.apache.axis2.transport.http.HTTPSender.send(HTTPSender.java:75)
	at org.apache.axis2.transport.http.CommonsHTTPTransportSender.writeMessageWithCommons(CommonsHTTPTransportSender.java:396)
	at org.apache.axis2.transport.http.CommonsHTTPTransportSender.invoke(CommonsHTTPTransportSender.java:223)
	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$NonBlockingInvocationWorker.run(OutInAxisOperation.java:446)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
	at java.lang.Thread.run(Thread.java:767)

【讨论】:

  • 我的项目在 websphere 7.0.0.39 上运行
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-17
  • 2012-10-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多