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

Sagara Gunathunga  commented on AXIS2-5270:
-------------------------------------------

These are some comments according to my last post. 

1.) It would be great if you can use a dedicated Boolean flag to decide the 
particular message will process by JosnRPCMessageReceiver or fullback to use 
RPCMessageReceiver instead of INPUT_STREAM property because this make your 
design clean and well defined. I would like to see following flow. 

In JosnRPCMessageReceiver check above flag and decide further processing.

In RPCMessageReceiver add the same check and if it's true return a fault 
instead of further processing. This case can occur when user enable 
JSONBuilder/JSONFormatter in axis2.xml but haven't define 
JosnRPCMessageReceiver MRs in services.xml file. With this improvement your MR 
modification become consistent.

2.) I don't think we can drop the support for other transports hence IMO we 
need to create first element of SOAP envelope in order to employ SOAP Body 
based dispatching, I think you can create JsonStreamParser [1] and read first 
element to facilitate to above then you can use same JsonStreamParser instance 
to further unmarshaling. 

[1] - 
http://google-gson.googlecode.com/svn/trunk/gson/docs/javadocs/com/google/gson/JsonStreamParser.html
 

3.) Look likes you have some good numbers with performance but IMO you have to 
test your new JSON implementation with existing JSON implementation for a 
better comparison also use around 50 000 message for testing . 

                
> [GSOC 2012] 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: JsonTestService.aar, attachments.zip, 
> performance_test.txt
>
>
> 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: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to