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 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

Reply via email to