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

Bob Jacoby commented on AXIS2-3804:
-----------------------------------

What is the best way to workaround this issue? I encountered the same problem. 
I have OMElements as parameters to my web service and as results. What are my 
options?

1. Designg my wsdl is some other fashion such that this code is never called. 
Not sure what causes the call to be made so not sure how I would revise the 
schema. I need OMElements. 

2. Override the MTOMAwareOMBuilder without modifying the class itself. For 
example, use an unpatched version of the library and substitute a subclassed 
implementation (e.g., an extended MTOMAwareOMBuilder that overrides the single 
getProperty method).  Not sure if this is possible since I didn't see how I 
could specify to use my new class rather than the MTOMAwareOMBuilder.

3. Patch the code in the library. I prefer not to do this, but may be the best 
option.

4. Create a new MTOMAwareOMBuilder class in same package structure and fix 
method. Then make sure the new class will be picked up in the classpath before 
the library with the original. This seems pretty fragile.

Any other options?

Thanks,
Bob


> UnsupportedOperationException thrown by OMElementStreamWriter
> -------------------------------------------------------------
>
>                 Key: AXIS2-3804
>                 URL: https://issues.apache.org/jira/browse/AXIS2-3804
>             Project: Axis 2.0 (Axis2)
>          Issue Type: Bug
>          Components: databinding
>    Affects Versions: 1.4
>         Environment: Windows XP 32bit
>            Reporter: CP
>
> I have just upgraded from Axis2 1.3 to 1.4 and now I'm getting an 
> UnsupportedOperationException thrown by OMElementStreamWriter. I posted this 
> in the users forum but got no reply so I'm assuming it's a problem with no 
> obvious solution.
> See below for stack trace. Any idea why this is happening now and not with 
> v1.3? Is there an easy workaround if a fix cannot be made soon?
> Thank You.
> 2008-05-14 16:46:09,574 ERROR [http-80-1] llom.OMSourcedElementImpl
> (OMSourcedElementImpl.java:170) - Could not get parser from data source for
> element {http://www.xyz.com/schemas/Results}records 
> javax.xml.stream.XMLStreamException: java.lang.UnsupportedOperationException:
> this method has not yet been implemented at
> com.xyz.framework.webServices.CalculationEngineWebService$ResultsOMDataSource.serialize(CalculationEngineWebService.java:351)
>  at
> com.xyz.framework.webServices.CalculationEngineWebService$ResultsOMDataSource.getReader(CalculationEngineWebService.java:287)
>  at
> org.apache.axiom.om.impl.llom.OMSourcedElementImpl.getDirectReader(OMSourcedElementImpl.java:167)
>  at
> org.apache.axiom.om.impl.llom.OMSourcedElementImpl.forceExpand(OMSourcedElementImpl.java:190)
>  at
> org.apache.axiom.om.impl.llom.OMSourcedElementImpl.getFirstOMChild(OMSourcedElementImpl.java:838)
>  at
> org.apache.axiom.om.impl.llom.OMNavigator._getFirstChild(OMNavigator.java:142)
>  at
> org.apache.axiom.om.impl.llom.OMNavigator.updateNextNode(OMNavigator.java:114)
>  at org.apache.axiom.om.impl.llom.OMNavigator.next(OMNavigator.java:97) at
> org.apache.axiom.om.impl.llom.OMStAXWrapper.updateNextNode(OMStAXWrapper.java:1061)
>  at
> org.apache.axiom.om.impl.llom.OMStAXWrapper.updateLastNode(OMStAXWrapper.java:1052)
>  at
> org.apache.axiom.om.impl.llom.OMStAXWrapper.next(OMStAXWrapper.java:977) at
> org.apache.axiom.om.impl.builder.StAXOMBuilder.parserNext(StAXOMBuilder.java:506)
>  at
> org.apache.axiom.om.impl.builder.StAXOMBuilder.next(StAXOMBuilder.java:161) 
> at org.apache.axiom.om.impl.dom.NodeImpl.build(NodeImpl.java:449) at
> org.apache.axiom.om.impl.dom.DocumentImpl.build(DocumentImpl.java:488) at
> org.apache.rampart.util.Axis2Util.getDocumentFromSOAPEnvelope(Axis2Util.java:130)
>  at
> org.apache.rampart.RampartMessageData.<init>(RampartMessageData.java:150) at 
> org.apache.rampart.MessageBuilder.build(MessageBuilder.java:58) at
> org.apache.rampart.handler.RampartSender.invoke(RampartSender.java:64) at 
> org.apache.axis2.engine.Phase.invoke(Phase.java:317) at 
> org.apache.axis2.engine.AxisEngine.invoke(AxisEngine.java:264) at 
> org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:429) at
> org.apache.axis2.receivers.AbstractInOutSyncMessageReceiver.invokeBusinessLogic(AbstractInOutSyncMessageReceiver.java:45)
>  at
> org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:100)
>  at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:176) at
> org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:275)
>  at
> org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:131) at 
> javax.servlet.http.HttpServlet.service(HttpServlet.java:709) at 
> javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
>  at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
>  at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
>  at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
>  at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126) 
> at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105) 
> at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
>  at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148) at
> org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:833)
>  at
> org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:639)
>  at
> org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1285) at 
> java.lang.Thread.run(Thread.java:619) Caused by: 
> java.lang.UnsupportedOperationException: this method has not yet been
> implemented at
> org.apache.axis2.databinding.utils.writer.OMElementStreamWriter.getProperty(OMElementStreamWriter.java:242)
>  at
> org.apache.axiom.om.impl.MTOMXMLStreamWriter.getProperty(MTOMXMLStreamWriter.java:265)
>  at
> org.apache.axiom.om.impl.util.OMSerializerUtil.isSetPrefixBeforeStartElement(OMSerializerUtil.java:172)
>  at
> org.apache.axiom.om.impl.util.OMSerializerUtil.serializeStartpart(OMSerializerUtil.java:243)
>  at
> org.apache.axiom.om.impl.util.OMSerializerUtil.serializeStartpart(OMSerializerUtil.java:197)
>  at
> org.apache.axiom.om.impl.llom.OMElementImpl.internalSerialize(OMElementImpl.java:913)
>  at
> org.apache.axiom.om.impl.llom.OMElementImpl.internalSerializeAndConsume(OMElementImpl.java:947)
>  at
> org.apache.axiom.om.impl.llom.OMNodeImpl.serializeAndConsume(OMNodeImpl.java:388)
>  at
> com.xyz.framework.webServices.CalculationEngineWebService$ResultsOMDataSource.serialize(CalculationEngineWebService.java:341)
>  ... 40 more 

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

Reply via email to