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

Shameera Rathnayaka commented on AXIS2-5270:
--------------------------------------------

Hi sagara, 

First i need to say that this is not the final work in that first part, but is 
the progress i have made so far with the project. 

According to the implementation, inside 
JosnRPCMessageReceiver#invokeBusinessLogic method it check INPUT_STREAM 
property of inMessage which is set at the JsonMessageBuilder, if it is null 
then handover to the RPCMessageReceiver to process request. Therefore you can 
send SOAP request to the same service.

This implementation done base on this assumption which is we can use requestUri 
base dispatch to dispatch. In the sense request url has operation it self. If 
we have an idea to use input stream to identify the operation then we can do 
this inside the JsonMessageBuilder. But we need to think twice before we take 
that decision. 

Thanks
Shameera.
                
> 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: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to