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

Andreas Veithen resolved AXIS2-5295.
------------------------------------

       Resolution: Fixed
    Fix Version/s: 1.7.0

Badgerfish is now fully supported with data bindings. The implementation uses 
the feature introduced by AXIOM-399.
                
> BadgerFish JSON Reader throws invalid exception
> -----------------------------------------------
>
>                 Key: AXIS2-5295
>                 URL: https://issues.apache.org/jira/browse/AXIS2-5295
>             Project: Axis2
>          Issue Type: Bug
>          Components: json
>    Affects Versions: 1.6.1, 1.6.2
>            Reporter: Jeremy Nix
>            Assignee: Andreas Veithen
>             Fix For: 1.7.0
>
>         Attachments: axiom_patch.txt, badgerfish_request.json, 
> soap_request.xml
>
>
> I was unable to use the Badgerfish JSON implementation out of the box.  It 
> kept throwing an exception ["Element namespace from data source is 
> "http://www.i2b2.org/xsd/hive/msg/1.1/"; not the expected].  I tried various 
> configuration modifications before I dove into the code to see what was 
> happening.  I tracked it down to an exception thrown in the Axiom-Impl 
> OMSOurcedElementImpl#forceExpand method.  It is checking that its namespace 
> matches whatever the datasource reader's namespace is.  The problem is that 
> the OMSourcedElementImpl is created in AbstractJSONOMBuilder with no 
> namespaces parsed out.  Parsing out of the namespaces occurs later once the 
> BadgerFishXMLStreamReader is instantiated.
> To get around this issue, I saw a few possible options.  1) Update the 
> AbstractJSONOMBuilder (or JSONBadgerfishOMBuilder) and change the 
> processDocument method to dig further into the stream and parse out the 
> namespace(s).  The problem with this solution is that I was worried about 
> what ramifications would result now that we have read past the first 
> element/object in the JSON input stream.  2) Update OMSourcedElementImpl and 
> disable this validation check.
> I opted to go with the second solution.  I'm sure that it was put there for a 
> reason, so a more elegant hack may involve looking at the content type and 
> only avoiding this check if the content type is application/badgerfish/json 
> (or similar).
> I'm going to attach my hack along with an example SOAP request and its 
> badgerfish json equivalent.  

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscr...@axis.apache.org
For additional commands, e-mail: java-dev-h...@axis.apache.org

Reply via email to