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

Rich Scheuerle updated AXIS2-2166:
----------------------------------

    Attachment: patch.txt

> JAX-WS Request Message Persistance Failure
> ------------------------------------------
>
>                 Key: AXIS2-2166
>                 URL: https://issues.apache.org/jira/browse/AXIS2-2166
>             Project: Axis 2.0 (Axis2)
>          Issue Type: Bug
>          Components: jaxws
>            Reporter: Rich Scheuerle
>         Assigned To: Rich Scheuerle
>         Attachments: patch.txt
>
>
> Here is the scenario:
>    1)  JAXWSReceiver receives request message.
>     2) During invoke processing, portions of the request message are 
> converted into business objects.  This is intentionally a destructive 
> transformation for performance reasons (i.e. we don't want to cache the om 
> tree while converting to a JAXB object).
>    3) Subsequent outbound RM processing persists the response MessageContext.
>     4) Pesisting the MessageContext also persists the parent 
> OperationContext, which in turn, persists the request MessageContext.
>    5) Persisting the request MessageContext causes an exception due to the 
> destructive transformation in (2).
> I am working on a solution to fix this problem in a manner that does not 
> dramatically hinder performance.
> Here is an example exception:
> [12/02/07 10:38:38:062 GMT] 00000032 ExceptionFact 1 
> org.apache.commons.logging.impl.Jdk14Logger debug Create Exception:
>                                  javax.xml.ws.WebServiceException: An 
> internal error occurred. The block for 
> org.apache.axis2.jaxws.message.databinding.impl.SourceBlockImpl is already 
> consumed. Processing cannot continue.  Run with the debug option to determine 
> where the block was first consumed.
>       at 
> org.apache.axis2.jaxws.ExceptionFactory.createWebServiceException(ExceptionFactory.java:177)
>       at 
> org.apache.axis2.jaxws.ExceptionFactory.makeWebServiceException(ExceptionFactory.java:79)
>       at 
> org.apache.axis2.jaxws.ExceptionFactory.makeWebServiceException(ExceptionFactory.java:124)
>       at 
> org.apache.axis2.jaxws.message.impl.BlockImpl.getXMLStreamReader(BlockImpl.java:189)
>       at 
> org.apache.axis2.jaxws.message.impl.BlockImpl.getReader(BlockImpl.java:215)
>       at 
> org.apache.axiom.om.impl.llom.OMSourcedElementImpl.getDirectReader(OMSourcedElementImpl.java:121)
>       at 
> org.apache.axiom.om.impl.llom.OMSourcedElementImpl.forceExpand(OMSourcedElementImpl.java:144)
>       at 
> org.apache.axiom.om.impl.llom.OMSourcedElementImpl.internalSerialize(OMSourcedElementImpl.java:531)
>       at 
> org.apache.axiom.om.impl.llom.OMElementImpl.internalSerialize(OMElementImpl.java:807)
>       at 
> org.apache.axiom.om.impl.llom.OMElementImpl.internalSerialize(OMElementImpl.java:792)
>       at 
> org.apache.axiom.om.impl.llom.OMElementImpl.internalSerialize(OMElementImpl.java:807)
>       at 
> org.apache.axiom.soap.impl.llom.SOAPEnvelopeImpl.internalSerialize(SOAPEnvelopeImpl.java:180)
>       at 
> org.apache.axiom.om.impl.llom.OMElementImpl.internalSerialize(OMElementImpl.java:792)
>       at 
> org.apache.axiom.om.impl.llom.OMNodeImpl.serialize(OMNodeImpl.java:400)
>       at 
> org.apache.axis2.context.MessageContext.writeExternal(MessageContext.java:2148)
>       at 
> java.io.ObjectOutputStream.writeExternalData(ObjectOutputStream.java:1397)
>       at 
> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1375)
>       at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1106)
>       at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:324)
>       at 
> org.apache.axis2.util.ObjectStateUtils.writeHashMap(ObjectStateUtils.java:976)
>       at 
> org.apache.axis2.context.OperationContext.writeExternal(OperationContext.java:514)
>       at 
> java.io.ObjectOutputStream.writeExternalData(ObjectOutputStream.java:1397)
>       at 
> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1375)
>       at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1106)
>       at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:324)
>       at 
> org.apache.axis2.util.ObjectStateUtils.writeObject(ObjectStateUtils.java:373)
>       at 
> org.apache.axis2.context.MessageContext.writeExternal(MessageContext.java:2655)
>       at 
> java.io.ObjectOutputStream.writeExternalData(ObjectOutputStream.java:1397)
>       at 
> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1375)
>       at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1106)
>       at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:324)

-- 
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