axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Michele Mazzucco (JIRA)" <j...@apache.org>
Subject [jira] Commented: (AXIS2-849) NullPointerException in OutInAxisOperationClient
Date Wed, 19 Jul 2006 10:51:14 GMT
    [ http://issues.apache.org/jira/browse/AXIS2-849?page=comments#action_12422086 ] 
            
Michele Mazzucco commented on AXIS2-849:
----------------------------------------

Deepal, now the message is sent, however the control is not returned to the caller

This is the chunk of code calling the send method 

try {
                     if (log.isDebugEnabled()) {
	        log.debug("Handler [" + super.service + "]: sending request...");
                     }
	send(request, node);
	if (log.isDebugEnabled()) {
		log.debug("Handler [" + super.service + "]: request sent");
	}
			
			
	this.busy.add(node);
} catch (AxisFault e) {
	this.idle.add(node);
	if (log.isEnabledFor(Level.ERROR)) {
		log.error("Handler [" + this.service + "]: send failed "
		+ e.getLocalizedMessage());
	}
}



while this is the send() method using sendRobust()


protected final void send(Schedulable r, String node) throws AxisFault {
		
	// Creates the endpoint
	String target = createTargetPath(node);				
	EndpointReference targetEPR = new EndpointReference(target);
		
	// Creates and fills the options
	Options options = new Options();
	options.setTo(targetEPR);
	options.setAction(r.getWSAction());
	options.setTransportInProtocol(Constants.TRANSPORT_HTTP);
	// Uses 2 channels
	options.setUseSeparateListener(true);
		
	ServiceClient sender = new ServiceClient();
	sender.engageModule(QOSPConstants.MODULE_ADDRESSING);
	sender.setOptions(options);
		
	sender.addHeader(createHeader(r, System.currentTimeMillis()));
		
	//sender.fireAndForget(r.getRequest()); // fireAndForget + Thread.sleep() works fine
	sender.sendRobust(r.getRequest());
	if (log.isDebugEnabled()) {
		log.debug("Send robust successfully executed");
	}
}

And this is the log:

INFO  QueueSizeScheduler:queueRequest - Found node [10.8.149.156:18080]
DEBUG QueueSizeServiceHandler:submitRequest - Handler [MyService]: sending request...
DEBUG QueueSizeServiceHandler:computeLoad - Handler [MyService]:history size is [2]
DEBUG QueueSizeScheduler$LoadCalculationTask:run - Handler [MyService], load is [0.3563283922462942]
DEBUG QueueSizeScheduler$LoadCalculationTask:run - Sum is [0.35632839798927307]
....

As you can see the log after the send() method (or the log after the sendRobust() call) are
missing. What happens there?

>  NullPointerException in OutInAxisOperationClient
> -------------------------------------------------
>
>                 Key: AXIS2-849
>                 URL: http://issues.apache.org/jira/browse/AXIS2-849
>             Project: Apache Axis 2.0 (Axis2)
>          Issue Type: Bug
>          Components: client-api
>    Affects Versions: 1.0
>         Environment: Windows XP SP2, Java J2SE 1.5.0_03, Axis 2 SNAPSHOT Jun 08, 2006
>            Reporter: Michele Mazzucco
>         Assigned To: Deepal Jayasinghe
>
> I'm trying to send a message from a web service A to a web service B, but I get this
exception:
> ERROR
> ncl.qosp.controller.scheduler.weighted.WeightedAvgRespTimeServiceHandler
> - java.lang.NullPointerException
> 	at
> org.apache.axis2.description.OutInAxisOperationClient.execute(OutInAxisOperation.java:260)
> 	at org.apache.axis2.client.ServiceClient.sendRobust(ServiceClient.java:350)
> 	at org.apache.axis2.client.ServiceClient.sendRobust(ServiceClient.java:330)
> 	at
> ncl.qosp.controller.scheduler.weighted.WeightedAvgRespTimeServiceHandler.client(WeightedAvgRespTimeServiceHandler.java:609)
> 	at
> ncl.qosp.controller.scheduler.weighted.WeightedAvgRespTimeServiceHandler.send(WeightedAvgRespTimeServiceHandler.java:560)
> 	at
> ncl.qosp.controller.scheduler.weighted.WeightedAvgRespTimeServiceHandler.addResource(WeightedAvgRespTimeServiceHandler.java:333)
> 	at
> ncl.qosp.controller.scheduler.weighted.WeightedAvgRespTimeScheduler.requireResources(WeightedAvgRespTimeScheduler.java:296)
> 	at
> ncl.qosp.controller.scheduler.weighted.WeightedAvgRespTimeServiceHandler.setOptimalValue(WeightedAvgRespTimeServiceHandler.java:284)
> 	at
> ncl.qosp.controller.scheduler.weighted.WeightedAvgRespTimeScheduler$ReminderTask.reallocateResources(WeightedAvgRespTimeScheduler.java:549)
> 	at
> ncl.qosp.controller.scheduler.weighted.WeightedAvgRespTimeScheduler$ReminderTask.run(WeightedAvgRespTimeScheduler.java:519)
> 	at java.util.TimerThread.mainLoop(Timer.java:512)
> 	at java.util.TimerThread.run(Timer.java:462)
> The chunk of code generating the above exception is:
> EndpointReference targetEPR = new EndpointReference(target);
> Options options = new Options();
> options.setTo(targetEPR);
> options.setAction("urn:echo");
> options.setTransportInProtocol(Constants.TRANSPORT_HTTP);
> options.setUseSeparateListener(true);
> ServiceClient sender = new ServiceClient();
> sender.engageModule(new QName(Constants.MODULE_ADDRESSING));
> sender.setOptions(options);
> 		
> try {
> 	sender.sendRobust(r.request);
> } catch (Exception e) {
> 	StringWriter sw = new StringWriter();
> 	PrintWriter pw = new PrintWriter(sw);
> 	e.printStackTrace(pw);
> 	log.error(sw.getBuffer().toString());
> 	pw.close();
> }
> Please note that this code works if a sendReceiveNonBlocking() call is
> used instead of sendRobust().

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org


Mime
View raw message