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 "Shameera Rathnayaka (Updated) (JIRA)" <ji...@apache.org> on 2012/03/15 23:40:38 UTC
[jira] [Updated] (AXIS2-5270) Improve Json support in Axis2 with
google-gson
[ https://issues.apache.org/jira/browse/AXIS2-5270?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Shameera Rathnayaka updated AXIS2-5270:
---------------------------------------
Attachment: attachments.zip
I did some background search and referred some code parts in Axis2. As i have been in touch with Axis2 project it was easy to understand the basic things, therefore i implemented the first part which i have mentioned above as a way of being prepared for GSoC 2012 in the coming months. However this is not the final work in that first part, but is the progress i have made so far with the project.
I have attached my implementation as a patch for current trunk.
For testing purposes i have attached a simple service and client which send http post request to sample service(Sample service attached with this reply) post request has required json string as a request entity.
Feedbacks are appreciate as it would help me a lot in presenting my final proposal for the project :)
Attachments
json-implementation.diff --> my implementation patch for current trunk
JsonTestService.aar --> sample service to deploy in axis2
SimpleJsonClient.java --> simple code which send a request to JsonService( in JsonImlTest) using http post method
axis2_json.xml --> modified configuration file, i have added my json formatter and builder under the application/json-iml content type, Yes we can decide a good content type later this is only for testing purpose.
src --> source code of JsonTestService service and client
> Improve Json support in Axis2 with google-gson
> ----------------------------------------------
>
> Key: AXIS2-5270
> URL: https://issues.apache.org/jira/browse/AXIS2-5270
> Project: Axis2
> Issue Type: Improvement
> Components: json
> Affects Versions: 1.7.0
> Reporter: Shameera Rathnayaka
> Assignee: Shameera Rathnayaka
> Labels: gsoc2012, gson, json
> Fix For: 1.7.0
>
> Attachments: attachments.zip
>
>
> There are two ways that xml string can be converted into JSON string, Badgerfish and Mapped . Current Axis2 with JSON module completely supports Badgerfish convention[1] while partialy supports Mapped convention[1] as Mapped formatted JSON with namespaces are not supported in Axis2. Therefore if the client side java-script code needs to talk with java service which is deployed in Axis2, it should be sent as Badgerfish convention. It is cumbersome to generate Badgerfish convention of JSON string again and again to call services if there is no xml representation string in client side.
> If java script client can send JSON object to relevant java service in Axis2, defining service and operation in request url, without doing any modifications to JSON objects, then it would be very helpful for Java-Script users at client side.
> According to the thread in the mailing list, which discussed $subject we have two approaches. i have summarized those two approaches as below.
> 1. Store json inputstream in message context at the message builder while putting dummy SOAPEnvelop to the message context, and using google-gson process it inside the message receiver
> 2. Preserve the requirement that a message must have a well defined SOAP infoset and use a trivial representation similar (or identical) to what we use for plain text. This has the advantage that it is more in line with the rest of the Axis2 architecture,
> or
> another option is to write an xmlstream reader/writer implementation to parse the json stream. And provide that xml stream implementation to Axiom.
> [1]http://wso2.org/library/768
--
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-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org