[ 
https://issues.apache.org/jira/browse/AXIS2-4809?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12913972#action_12913972
 ] 

Srijith Kochunni commented on AXIS2-4809:
-----------------------------------------

We had enabled axis logging also earlier and had seen that the connection was 
being closed, while the SOAP message was being formatted

Based upon that and some of the observations made by Andreas in 
http://osdir.com/ml/axis-dev-ws.apache.org/2009-02/msg00255.html
we tried disabling of re-use of Http Client and setCallTransportCleanup(true). 
After which we could see that the instances of this error reduced / were not 
observed. However now again we see the same error, even though we are not 
re-using HttpClient and not calling setCallTransportCleanup as well.

We are currently going to run our tests again and we shall attach relevant logs 
for the same, as well soon.


> NullPointerException in internalSerializeAndConsume
> ---------------------------------------------------
>
>                 Key: AXIS2-4809
>                 URL: https://issues.apache.org/jira/browse/AXIS2-4809
>             Project: Axis2
>          Issue Type: Bug
>          Components: om
>    Affects Versions: 1.4
>         Environment: A centralized server hosting the web -service, with 
> multiple clients consuming the same. JAVA 1.6 runtime. Linux Platform. Axis2 
> is bundleized in an OSGi runtime.
>            Reporter: Srijith Kochunni
>            Priority: Critical
>   Original Estimate: 264h
>  Remaining Estimate: 264h
>
> We invoke one of our our web services using Axis2, without any databinding, 
> because the response payload might be too huge. This is how we invoke the 
> same.
>      
>                       clientOptions = new Options();
>                       clientOptions.setCallTransportCleanup(true);
>                       clientOptions = setReuseHTTPClient(clientOptions);
>       
>                       EndpointReference targetEPR = new 
> EndpointReference(endpointURI);
>                       clientOptions.setTo(targetEPR);
>                       clientOptions.setAction(wsAction);
>                       setHTTPKeepAlive(clientOptions, keepAlive);
>                       ServiceClient svcClient = new ServiceClient();
>                       svcClient.setOptions(clientOptions);
>                       result = svcClient.sendReceive(requestOmElement);
> The request OM Element is derived from the Adb generated source code, from 
> the WSDL. It was working correctly for quite some time, but recently randomly 
> it is seen that we get this following exception
>  java.lang.NullPointerException
>         at 
> org.apache.axiom.om.impl.llom.OMSourcedElementImpl.internalSerializeAndConsume(OMSourcedElementImpl.java:664)
>         at 
> org.apache.axiom.om.impl.llom.OMElementImpl.internalSerialize(OMElementImpl.java:918)
>         at 
> org.apache.axiom.om.impl.llom.OMElementImpl.internalSerializeAndConsume(OMElementImpl.java:947)
>         at 
> org.apache.axiom.soap.impl.llom.SOAPEnvelopeImpl.serializeInternally(SOAPEnvelopeImpl.java:240)
>         at 
> org.apache.axiom.soap.impl.llom.SOAPEnvelopeImpl.internalSerialize(SOAPEnvelopeImpl.java:228)
>         at 
> org.apache.axiom.om.impl.llom.OMElementImpl.internalSerializeAndConsume(OMElementImpl.java:947)
>         at 
> org.apache.axiom.om.impl.llom.OMNodeImpl.serializeAndConsume(OMNodeImpl.java:471)
>         at 
> org.apache.axis2.transport.http.SOAPMessageFormatter.writeTo(SOAPMessageFormatter.java:79)
>         at 
> org.apache.axis2.transport.http.AxisRequestEntity.writeRequest(AxisRequestEntity.java:84)
>         at 
> org.apache.commons.httpclient.methods.EntityEnclosingMethod.writeRequestBody(EntityEnclosingMethod.java:499)
>         at 
> org.apache.commons.httpclient.HttpMethodBase.writeRequest(HttpMethodBase.java:2114)
>         at 
> org.apache.commons.httpclient.HttpMethodBase.execute(HttpMethodBase.java:1096)
>         at 
> org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:398)
>         at 
> org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:171)
>         at 
> org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397)
>         at 
> org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:346)
>         at 
> org.apache.axis2.transport.http.AbstractHTTPSender.executeMethod(AbstractHTTPSender.java:542)
>         at 
> org.apache.axis2.transport.http.HTTPSender.sendViaPost(HTTPSender.java:189)
>         at org.apache.axis2.transport.http.HTTPSender.send(HTTPSender.java:75)
>         at 
> org.apache.axis2.transport.http.CommonsHTTPTransportSender.writeMessageWithCommons(CommonsHTTPTransportSender.java:364)
>         at 
> org.apache.axis2.transport.http.CommonsHTTPTransportSender.invoke(CommonsHTTPTransportSender.java:208)
>         at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:448)
>         at 
> org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:401)
>         at 
> org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:228)
>         at 
> org.apache.axis2.client.OperationClient.execute(OperationClient.java:163)
>         at 
> org.apache.axis2.client.ServiceClient.sendReceive(ServiceClient.java:548)
>         at 
> org.apache.axis2.client.ServiceClient.sendReceive(ServiceClient.java:528)
> Following this we looked into the Axiom sources as well, and see that in 
> OMSourcedElementImpl, the dataSource is becoming null for some reason. We are 
> creating a new datasource and in our auto-generated code, we could see that 
> the data Source is set in the request OMElement
> public org.apache.axiom.om.OMElement getOMElement (
>                final javax.xml.namespace.QName parentQName,
>                final org.apache.axiom.om.OMFactory factory) throws 
> org.apache.axis2.databinding.ADBException{
>         
>                 org.apache.axiom.om.OMDataSource dataSource =
>                        new 
> org.apache.axis2.databinding.ADBDataSource(this,MY_QNAME){
>                  public void 
> serialize(org.apache.axis2.databinding.utils.writer.MTOMAwareXMLStreamWriter 
> xmlWriter) throws javax.xml.stream.XMLStreamException {
>                        
> GetLocationsRequest.this.serialize(MY_QNAME,factory,xmlWriter);
>                  }
>                };
>                return new org.apache.axiom.om.impl.llom.OMSourcedElementImpl(
>                MY_QNAME,factory,dataSource);
>             
>        }
>        This issue has become very critical for us and any help / ideas / 
> patches would be much appreciated. We had posted the same on Axis-user 
> mailing list. There have been no responses so far. We are willing to provide 
> any further information required.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to