The proper way to do it is for you to use an object and then get MSF4J for you to do the databinding for you and then use Media type JSON. The StockQuote sample demonstrates this and the Stock object corresponds to the JSON sent by curl.
On Wed, May 4, 2016 at 11:19 AM, Yasith Lokuge <[email protected]> wrote: > That means I should send JSON as a String if I need to send a JSON request > to my service? If I'm not using curl or a rest client, do I need to convert > the json object in to a string and send it to the service? > > On Wed, May 4, 2016 at 11:03 AM, Afkham Azeez <[email protected]> wrote: > >> Remove the media type. You are specifying that you are consuming JSON but >> sending text. Remove the JSON media type and send your request from curl >> without a media type header. >> >> On Wed, May 4, 2016 at 10:15 AM, Yasith Lokuge <[email protected]> wrote: >> >>> Hi, >>> >>> I'm still getting the following error, >>> >>> Problem accessing: /service/2. Reason: Unsupported Media Type >>> >>> Please not that I've used the following annotation, >>> >>> @Consumes(MediaType.APPLICATION_JSON) >>> >>> >>> On Tue, May 3, 2016 at 6:32 PM, Afkham Azeez <[email protected]> wrote: >>> >>>> Change your curl to: >>>> curl -X POST -d '{"symbol": "GOOG","name": "Google Inc.","high": >>>> 190.23,"low": 187.45}' "http://localhost:8080/hello2/2" >>>> >>>> InputStream doesn't work like that in MSF4J. Check the streaming sample >>>> for details >>>> https://github.com/wso2/msf4j/tree/master/samples/fileserver >>>> >>>> >>>> On Tue, May 3, 2016 at 4:53 PM, Yasith Lokuge <[email protected]> >>>> wrote: >>>> >>>>> Hi, >>>>> >>>>> I tried to send a json post request to the sample microservice I built >>>>> using wso2 ms4j framework. >>>>> >>>>> It works with the pojo class as in the below example (POST service/1) >>>>> but doesn't work with the String type and InputStream type. >>>>> >>>>> Please refer the following java code / curl request and the error I >>>>> received. >>>>> >>>>> >>>>> package org.example.service; >>>>> import java.io.BufferedReader;import java.io.InputStream;import >>>>> java.io.InputStreamReader; >>>>> import javax.ws.rs.Consumes;import javax.ws.rs.GET;import >>>>> javax.ws.rs.POST;import javax.ws.rs.Path;import >>>>> javax.ws.rs.core.MediaType; >>>>> @Path("/service")public class HelloService { >>>>> >>>>> @GET >>>>> @Path("/") >>>>> public String get() { >>>>> System.out.println("GET invoked"); >>>>> return "Hello from WSO2 MSF4J"; >>>>> } >>>>> >>>>> @POST >>>>> @Path("/1") >>>>> @Consumes(MediaType.APPLICATION_JSON) >>>>> public void postOne(Stock stock) { >>>>> >>>>> System.out.println("POST_1 invoked"); >>>>> System.out.println(stock.getName()); >>>>> } >>>>> >>>>> @POST >>>>> @Path("/2") >>>>> @Consumes(MediaType.APPLICATION_JSON) >>>>> public void postTwo(String jsonbody) { >>>>> >>>>> System.out.println("POST_2 invoked"); >>>>> System.out.println(jsonbody); >>>>> } >>>>> >>>>> @POST >>>>> @Path("/3") >>>>> @Consumes(MediaType.APPLICATION_JSON) >>>>> public void postThree(InputStream jsonData) { >>>>> StringBuilder stringData = new StringBuilder(); >>>>> try { >>>>> BufferedReader in = new BufferedReader(new >>>>> InputStreamReader(jsonData)); >>>>> String line = null; >>>>> while ((line = in.readLine()) != null) { >>>>> stringData.append(line); >>>>> } >>>>> } catch (Exception e) { >>>>> e.printStackTrace(); >>>>> } >>>>> System.out.println("POST_3 invoked"); >>>>> System.out.println(stringData.toString()); >>>>> } >>>>> } >>>>> >>>>> >>>>> >>>>> curl -X POST -H "Content-Type: application/json" -H "Cache-Control: >>>>> no-cache" -d '{"symbol": "GOOG","name": "Google Inc.","high": >>>>> 190.23,"low": 187.45}' "http://localhost:8080/service/2" >>>>> >>>>> Error in executing request: POST /service/2 >>>>> >>>>> curl -X POST -H "Content-Type: application/json" -H "Cache-Control: >>>>> no-cache" -d '{"symbol": "GOOG","name": "Google Inc.","high": >>>>> 190.23,"low": 187.45}' "http://localhost:8080/service/3" >>>>> >>>>> Error in executing request: POST /service/3 >>>>> >>>>> *Plain Text* >>>>> >>>>> >>>>> >>>>> curl -X POST -H "Content-Type: text/plain" -H "Cache-Control: no-cache" >>>>> -d '{"symbol": "GOOG","name": "Google Inc.","high": 190.23,"low": >>>>> 187.45}' "http://localhost:8080/service/2" >>>>> >>>>> Problem accessing: /service/2. Reason: Unsupported Media Type >>>>> >>>>> curl -X POST -H "Content-Type: text/plain" -H "Cache-Control: no-cache" >>>>> -d '{"symbol": "GOOG","name": "Google Inc.","high": 190.23,"low": >>>>> 187.45}' "http://localhost:8080/service/3" >>>>> >>>>> Problem accessing: /service/3. Reason: Unsupported Media Type >>>>> >>>>> -- >>>>> *Regards,* >>>>> *-Yasith Kanchana Lokuge-* >>>>> >>>>> website : http://www.techsurgeinnovations.com/ >>>>> facebook : https://www.facebook.com/yasithlokuge >>>>> linkedin : http://lk.linkedin.com/pub/yasith-lokuge/1b/713/229/ >>>>> Mobile : +94771353682 >>>>> Skype : yasith11 >>>>> Twitter : @YasithLokuge >>>>> >>>>> _______________________________________________ >>>>> Dev mailing list >>>>> [email protected] >>>>> http://wso2.org/cgi-bin/mailman/listinfo/dev >>>>> >>>>> >>>> >>>> >>>> -- >>>> *Afkham Azeez* >>>> Director of Architecture; WSO2, Inc.; http://wso2.com >>>> Member; Apache Software Foundation; http://www.apache.org/ >>>> * <http://www.apache.org/>* >>>> *email: **[email protected]* <[email protected]> >>>> * cell: +94 77 3320919 <%2B94%2077%203320919>blog: * >>>> *http://blog.afkham.org* <http://blog.afkham.org> >>>> *twitter: **http://twitter.com/afkham_azeez* >>>> <http://twitter.com/afkham_azeez> >>>> *linked-in: **http://lk.linkedin.com/in/afkhamazeez >>>> <http://lk.linkedin.com/in/afkhamazeez>* >>>> >>>> *Lean . Enterprise . Middleware* >>>> >>> >>> >>> >>> -- >>> *Regards,* >>> *-Yasith Kanchana Lokuge-* >>> >>> website : http://www.techsurgeinnovations.com/ >>> facebook : https://www.facebook.com/yasithlokuge >>> linkedin : http://lk.linkedin.com/pub/yasith-lokuge/1b/713/229/ >>> Mobile : +94771353682 >>> Skype : yasith11 >>> Twitter : @YasithLokuge >>> >> >> >> >> -- >> *Afkham Azeez* >> Director of Architecture; WSO2, Inc.; http://wso2.com >> Member; Apache Software Foundation; http://www.apache.org/ >> * <http://www.apache.org/>* >> *email: **[email protected]* <[email protected]> >> * cell: +94 77 3320919 <%2B94%2077%203320919>blog: * >> *http://blog.afkham.org* <http://blog.afkham.org> >> *twitter: **http://twitter.com/afkham_azeez* >> <http://twitter.com/afkham_azeez> >> *linked-in: **http://lk.linkedin.com/in/afkhamazeez >> <http://lk.linkedin.com/in/afkhamazeez>* >> >> *Lean . Enterprise . Middleware* >> > > > > -- > *Regards,* > *-Yasith Kanchana Lokuge-* > > website : http://www.techsurgeinnovations.com/ > facebook : https://www.facebook.com/yasithlokuge > linkedin : http://lk.linkedin.com/pub/yasith-lokuge/1b/713/229/ > Mobile : +94771353682 > Skype : yasith11 > Twitter : @YasithLokuge > -- *Afkham Azeez* Director of Architecture; WSO2, Inc.; http://wso2.com Member; Apache Software Foundation; http://www.apache.org/ * <http://www.apache.org/>* *email: **[email protected]* <[email protected]> * cell: +94 77 3320919blog: **http://blog.afkham.org* <http://blog.afkham.org> *twitter: **http://twitter.com/afkham_azeez* <http://twitter.com/afkham_azeez> *linked-in: **http://lk.linkedin.com/in/afkhamazeez <http://lk.linkedin.com/in/afkhamazeez>* *Lean . Enterprise . Middleware*
_______________________________________________ Dev mailing list [email protected] http://wso2.org/cgi-bin/mailman/listinfo/dev
