[ 
https://issues.apache.org/jira/browse/AXIS2-4809?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ruwan Linton updated AXIS2-4809:
--------------------------------

    Comment: was deleted

(was: As we do not have enough information to proceed on this)

> 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
>            Assignee: Isuru Eranga Suriarachchi
>   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