Petals BC SOAP

Null pointer when calling external Web Service

Details

  • Type: Bug Bug
  • Status: Resolved Resolved
  • Priority: Blocker Blocker
  • Resolution: Fixed
  • Affects Version/s: 4.1
  • Fix Version/s: 4.1
  • Component/s: None
  • Security Level: Public
  • Description:
    Hide

    This may be a bc-soap bug OR a wrong sa, ...

    se-bpel and bc-soap and a sa with following JBI are installed:

    <?xml version="1.0" encoding="UTF-8"?>
    <!-- JBI descriptor for the Petals component petals-bc-soap-research  -->
    <jbi:jbi version="1.0" 
    	xmlns:jbi="http://java.sun.com/xml/ns/jbi"
    	xmlns:petalsCDK="http://petals.ow2.org/components/extensions/version-5"
    	xmlns:soap="http://petals.ow2.org/components/soap/version-4"
    	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    
    	<jbi:services binding-component="false">
    		<jbi:provides
    			interface-name="generatedNs:serviceA"
    			service-name="generatedNs:serviceA"
    			endpoint-name="serviceASOAP"
    			xmlns:generatedNs="http://ebmwebsourcing.com/genesis/sample/servicea">
    
    			<!-- CDK elements -->
    			<petalsCDK:validate-wsdl>true</petalsCDK:validate-wsdl>
    			<petalsCDK:wsdl>serviceA.wsdl</petalsCDK:wsdl>
    
    			<!-- Component specific elements -->
    			<soap:address>http://192.168.1.126:8088/ServiceAEndpoint</soap:address>
    			<soap:soap-version>1.1</soap:soap-version>
    			<soap:add-root>false</soap:add-root>
    			<soap:chunked-mode>false</soap:chunked-mode>
    			<soap:cleanup-transport>true</soap:cleanup-transport>
    			<soap:mode>SOAP</soap:mode>
    
    		</jbi:provides>
    	</jbi:services>
    </jbi:jbi>

    When a BPEL process tries to send a message to a partner (invoking a service represented by a su provide of the bc-soap),
    There is a null pointer exception:

    [Petals.Container.Components.petals-bc-soap-research]-FINE 2011-04-11 11:03:21,068 Calling external Web Service : http://192.168.1.126:8088/ServiceAEndpoint
    [Petals.Container.Components.petals-bc-soap-research]-FINE 2011-04-11 11:03:21,068 jbiOperation of the received exchange: {http://ebmwebsourcing.com/genesis/sample/servicea}Aop1
    [Petals.Container.Components.petals-bc-soap-research]-FINE 2011-04-11 11:03:21,068 soapAction of the received exchange: http://ebmwebsourcing.com/genesis/sample/servicea/NewOperation
    [Petals.Container.Components.petals-bc-soap-research]-WARNING 2011-04-11 11:03:21,122 Catch an exception on the WS invocation : Can't create get an Axis service client from the pool
    javax.jbi.messaging.MessagingException: Can't create get an Axis service client from the pool
    	at org.ow2.petals.binding.soap.SoapComponentContext.borrowServiceClient(SoapComponentContext.java:558)
    	at org.ow2.petals.binding.soap.listener.outgoing.SOAPCaller.call(SOAPCaller.java:250)
    	at org.ow2.petals.binding.soap.listener.outgoing.JBIListener.onJBIMessage(JBIListener.java:88)
    	at org.ow2.petals.component.framework.process.MessageExchangeProcessor.processInOutAsProvider(MessageExchangeProcessor.java:638)
    	at org.ow2.petals.component.framework.process.MessageExchangeProcessor.processAsProvider(MessageExchangeProcessor.java:373)
    	at org.ow2.petals.component.framework.process.MessageExchangeProcessor.process(MessageExchangeProcessor.java:235)
    	at org.ow2.petals.component.framework.process.MessageExchangeProcessor.run(MessageExchangeProcessor.java:178)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
    	at java.lang.Thread.run(Thread.java:680)
    Caused by: java.lang.NullPointerException
    	at org.ow2.petals.binding.soap.SoapComponentContext.borrowServiceClient(SoapComponentContext.java:478)
    	... 9 more

    The following code in src/main/java/org/ow2/petals/binding/soap/SoapComponentContext.java

    .... ? provides.getTimeout() : 300000l,

    and this one in src/main/java/org/ow2/petals/binding/soap/listener/outgoing/ServiceClientPoolObjectFactory.java

    ...   final long timeout = this.provides.getTimeout();

    seem to be the origin of the problem. If a static value is set, the bug disapears.

    Show
    This may be a bc-soap bug OR a wrong sa, ... se-bpel and bc-soap and a sa with following JBI are installed:
    <?xml version="1.0" encoding="UTF-8"?>
    <!-- JBI descriptor for the Petals component petals-bc-soap-research  -->
    <jbi:jbi version="1.0" 
    	xmlns:jbi="http://java.sun.com/xml/ns/jbi"
    	xmlns:petalsCDK="http://petals.ow2.org/components/extensions/version-5"
    	xmlns:soap="http://petals.ow2.org/components/soap/version-4"
    	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    
    	<jbi:services binding-component="false">
    		<jbi:provides
    			interface-name="generatedNs:serviceA"
    			service-name="generatedNs:serviceA"
    			endpoint-name="serviceASOAP"
    			xmlns:generatedNs="http://ebmwebsourcing.com/genesis/sample/servicea">
    
    			<!-- CDK elements -->
    			<petalsCDK:validate-wsdl>true</petalsCDK:validate-wsdl>
    			<petalsCDK:wsdl>serviceA.wsdl</petalsCDK:wsdl>
    
    			<!-- Component specific elements -->
    			<soap:address>http://192.168.1.126:8088/ServiceAEndpoint</soap:address>
    			<soap:soap-version>1.1</soap:soap-version>
    			<soap:add-root>false</soap:add-root>
    			<soap:chunked-mode>false</soap:chunked-mode>
    			<soap:cleanup-transport>true</soap:cleanup-transport>
    			<soap:mode>SOAP</soap:mode>
    
    		</jbi:provides>
    	</jbi:services>
    </jbi:jbi>
    When a BPEL process tries to send a message to a partner (invoking a service represented by a su provide of the bc-soap), There is a null pointer exception:
    [Petals.Container.Components.petals-bc-soap-research]-FINE 2011-04-11 11:03:21,068 Calling external Web Service : http://192.168.1.126:8088/ServiceAEndpoint
    [Petals.Container.Components.petals-bc-soap-research]-FINE 2011-04-11 11:03:21,068 jbiOperation of the received exchange: {http://ebmwebsourcing.com/genesis/sample/servicea}Aop1
    [Petals.Container.Components.petals-bc-soap-research]-FINE 2011-04-11 11:03:21,068 soapAction of the received exchange: http://ebmwebsourcing.com/genesis/sample/servicea/NewOperation
    [Petals.Container.Components.petals-bc-soap-research]-WARNING 2011-04-11 11:03:21,122 Catch an exception on the WS invocation : Can't create get an Axis service client from the pool
    javax.jbi.messaging.MessagingException: Can't create get an Axis service client from the pool
    	at org.ow2.petals.binding.soap.SoapComponentContext.borrowServiceClient(SoapComponentContext.java:558)
    	at org.ow2.petals.binding.soap.listener.outgoing.SOAPCaller.call(SOAPCaller.java:250)
    	at org.ow2.petals.binding.soap.listener.outgoing.JBIListener.onJBIMessage(JBIListener.java:88)
    	at org.ow2.petals.component.framework.process.MessageExchangeProcessor.processInOutAsProvider(MessageExchangeProcessor.java:638)
    	at org.ow2.petals.component.framework.process.MessageExchangeProcessor.processAsProvider(MessageExchangeProcessor.java:373)
    	at org.ow2.petals.component.framework.process.MessageExchangeProcessor.process(MessageExchangeProcessor.java:235)
    	at org.ow2.petals.component.framework.process.MessageExchangeProcessor.run(MessageExchangeProcessor.java:178)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
    	at java.lang.Thread.run(Thread.java:680)
    Caused by: java.lang.NullPointerException
    	at org.ow2.petals.binding.soap.SoapComponentContext.borrowServiceClient(SoapComponentContext.java:478)
    	... 9 more
    The following code in src/main/java/org/ow2/petals/binding/soap/SoapComponentContext.java
    .... ? provides.getTimeout() : 300000l,
    and this one in src/main/java/org/ow2/petals/binding/soap/listener/outgoing/ServiceClientPoolObjectFactory.java
    ...   final long timeout = this.provides.getTimeout();
    seem to be the origin of the problem. If a static value is set, the bug disapears.
  • Environment:
    Unix-like ...
  1. sa-BPEL-su-BPEL-process1302513241429-provide.zip.zip
    (12 kB)
    Julien Lesbegueries
    Mon, 11 Apr 2011 - 11:21:38 +0200
  2. sa-SOAP-su-SOAP-serviceA1302513241580-1157793070-provide.zip.zip
    (11 kB)
    Julien Lesbegueries
    Mon, 11 Apr 2011 - 11:21:38 +0200

Activity

Hide
Julien Lesbegueries added a comment - Mon, 11 Apr 2011 - 11:21:38 +0200

Note jbi.xml of SAs must be updated (remove -research in components names) to be tested on trunk components.

The involved sa is sa-SOAP-su-SOAP-serviceA1302513241580-1157793070-provide.zip.zip.

Show
Julien Lesbegueries added a comment - Mon, 11 Apr 2011 - 11:21:38 +0200 Note jbi.xml of SAs must be updated (remove -research in components names) to be tested on trunk components. The involved sa is sa-SOAP-su-SOAP-serviceA1302513241580-1157793070-provide.zip.zip.
Hide
Christophe DENEUX added a comment - Fri, 23 Oct 2015 - 16:07:19 +0200

This problem occurs again with version 4.4.0

Show
Christophe DENEUX added a comment - Fri, 23 Oct 2015 - 16:07:19 +0200 This problem occurs again with version 4.4.0
Hide
Victor NOËL added a comment - Mon, 26 Oct 2015 - 10:30:03 +0100

Why do you say it happens again? The error log in the original report is kind of very old, so it's not clear where is the origin of the problem…

Show
Victor NOËL added a comment - Mon, 26 Oct 2015 - 10:30:03 +0100 Why do you say it happens again? The error log in the original report is kind of very old, so it's not clear where is the origin of the problem…
Hide
Christophe DENEUX added a comment - Wed, 28 Oct 2015 - 12:49:52 +0100

You are right, it's not exactly the same error

Show
Christophe DENEUX added a comment - Wed, 28 Oct 2015 - 12:49:52 +0100 You are right, it's not exactly the same error

People

Dates

  • Created:
    Mon, 11 Apr 2011 - 11:18:43 +0200
    Updated:
    Wed, 28 Oct 2015 - 12:50:18 +0100
    Resolved:
    Wed, 28 Oct 2015 - 12:50:06 +0100