axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Srijith Kochunni (JIRA)" <j...@apache.org>
Subject [jira] Updated: (AXIS2-4809) NullPointerException in internalSerializeAndConsume
Date Thu, 02 Sep 2010 06:40:56 GMT

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

Srijith Kochunni updated AXIS2-4809:
------------------------------------

    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.  (was:
A centralized server hosting the web -service, with multiple clients consuming the same. JAVA
1.6 runtime.)

Updated the environment details.

> 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: java-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org


Mime
View raw message