[ 
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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to