You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by "Rich Scheuerle (JIRA)" <ji...@apache.org> on 2008/01/03 16:25:33 UTC

[jira] Commented: (AXIS2-3417) Modify BlockImpl to avoid double unmarshalling

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

Rich Scheuerle commented on AXIS2-3417:
---------------------------------------

Takehide,

Thanks for the patch, but unfortunately it will not fix the problem.
The patch assumes that the object in the OMDataSource is the same kind of object needed by the block.

+        
+        // If an object has been already created in previous component, set the object to this Block.
+        // https://issues.apache.org/jira/browse/AXIS2-3417
+        if (busObject == null && omElement instanceof OMSourcedElement) {
+            OMSourcedElement omse = (OMSourcedElement) omElement;
+            OMDataSource omDataSource = omse.getDataSource();
+            if (omDataSource.getClass() == this.getClass()
+            		&& omDataSource instanceof OMDataSourceExt) {
+            	OMDataSourceExt omDataSourceExt = (OMDataSourceExt) omDataSource;
+                busObject = omDataSourceExt.getObject();
+            }
+        }
+



I recognize that the coupling between OMDataSource and the JAX-WS Block concept is weak.
I am working on a redesign of the JAX-WS Block to address this issue.

Questions:
1) Are you creating a JAXB or byte[] OMDataSourceExt ?

2) If you are creating a JAXB object, can you use the new org.apache.axis2.datasource.jaxb.JAXBDataSource ?
   (i) if you use this new class, I can change the JAXBBlockImpl to recognize the usage and avoid the extra unmarshalling

Thanks,
Rich


> Modify BlockImpl to avoid double unmarshalling
> ----------------------------------------------
>
>                 Key: AXIS2-3417
>                 URL: https://issues.apache.org/jira/browse/AXIS2-3417
>             Project: Axis 2.0 (Axis2)
>          Issue Type: New Feature
>          Components: jaxws
>         Environment: Windows, java 1.5
>            Reporter: Takahide Nogayama
>            Assignee: Rich Scheuerle
>         Attachments: patch.txt
>
>
> BlockImpl.getBusinessObject() creates an buisiness object from AXIOM.
> I am trying to create buisiness object before JAXWSReceiver and set the buisiness object into OMSoucedElement. But current BlockImpl.getBuisinessObject() can not aware that. The BlockImpl wraps the OMSourcedElement by OMStaXWrapper and create same buisiness object again.
> This patch modifies BlockImpl to be able to aware such OMSoucedElement which has buisiness object and set the buisiness object into BlockImpl.

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