I forgot to mention the json builders and formatters, see below.

Also, the json support works by the content-type header flag so be
sure to set it from whatever http client you use:

curl -H "Content-Type: application/json"

<messageFormatters>
        <messageFormatter contentType="application/x-www-form-urlencoded"

class="org.apache.axis2.transport.http.XFormURLEncodedFormatter"/>
        <messageFormatter contentType="multipart/form-data"

class="org.apache.axis2.transport.http.MultipartFormDataFormatter"/>
        <messageFormatter contentType="application/xml"

class="org.apache.axis2.transport.http.ApplicationXMLFormatter"/>
        <messageFormatter contentType="text/xml"

class="org.apache.axis2.transport.http.SOAPMessageFormatter"/>
        <messageFormatter contentType="application/soap+xml"

class="org.apache.axis2.transport.http.SOAPMessageFormatter"/>
        <messageFormatter contentType="application/json"
                          class="org.apache.axis2.json.gson.JsonFormatter"/>
    </messageFormatters>

<!-- ================================================= -->
    <!-- Message Builders -->
    <!-- ================================================= -->
    <!--Following content type to builder mapping can be used to
implement support for different message -->
    <!--formats in Axis2. These message formats are expected to be
resolved based on the content type. -->
    <messageBuilders>
        <messageBuilder contentType="application/xml"
                        class="org.apache.axis2.builder.ApplicationXMLBuilder"/>
        <messageBuilder contentType="application/x-www-form-urlencoded"

class="org.apache.axis2.builder.XFormURLEncodedBuilder"/>
        <messageBuilder contentType="multipart/form-data"

class="org.apache.axis2.builder.MultipartFormDataBuilder"/>
        <messageBuilder contentType="application/json"
                        class="org.apache.axis2.json.gson.JsonBuilder"/>
    </messageBuilders>

On Thu, Dec 26, 2019 at 3:45 AM albert kao <albertk...@gmail.com> wrote:
>
> I modified axis2.xml as per your suggestions:
> $ diff axis2.xml axis2.xml_orig
> 157,158d156
> <         <messageReceiver mep="http://www.w3.org/ns/wsdl/in-out";
> <                
> class="org.apache.axis2.json.gson.rpc.JsonRpcMessageReceiver"/>
> 160c158,160
> <                
> class="org.apache.axis2.json.gson.rpc.JsonInOnlyRPCMessageReceiver"/>
> ---
> >                          
> > class="org.apache.axis2.receivers.RawXMLINOnlyMessageReceiver"/>
> >         <messageReceiver mep="http://www.w3.org/ns/wsdl/in-out";
> >                          
> > class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>
>
>
> I rebuilt and uploaded the JsonService.aar.
> run.client still got the error:
> com.ctc.wstx.exc.WstxUnexpectedCharException: Unexpected character '{' (code 
> 123) in prolog; expected '&lt;'
>
>
>
> When the next release be available?
>
> On Mon, Dec 23, 2019 at 10:09 AM robertlazarski . <robertlazar...@gmail.com> 
> wrote:
>>
>> The next release will include improved json docs and a few bug fixes,
>> as this is the direction my day job has moved into for some time now.
>>
>> What I suspect is your problem, is that you need the right axis2.xml
>> file config that supports json. Its setup for SOAP by default.
>>
>> Here's how mine looks. Note that I use one config for SOAP and another
>> for json via build time tweaks of the file
>>
>> <messageReceivers>
>>         <!--deleteThisCommentForJSONWebServices
>>         <messageReceiver mep="http://www.w3.org/ns/wsdl/in-out";
>>                class="org.apache.axis2.json.gson.rpc.JsonRpcMessageReceiver" 
>>  />
>>         <messageReceiver mep="http://www.w3.org/ns/wsdl/in-only";
>>                
>> class="org.apache.axis2.json.gson.rpc.JsonInOnlyRPCMessageReceiver"/>
>>         deleteThisCommentForJSONWebServices-->
>>         <!-- OPTIONAL DELETE OF Axis2 SOAP START -->
>>         <messageReceiver mep="http://www.w3.org/ns/wsdl/in-only";
>>
>> class="org.apache.axis2.receivers.RawXMLINOnlyMessageReceiver"/>
>>         <messageReceiver mep="http://www.w3.org/ns/wsdl/in-out";
>>
>> class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>
>>         <!-- OPTIONAL DELETE OF Axis2 SOAP END -->
>>     </messageReceivers>
>>
>> Regards,
>> Robert
>>
>> On Sat, Dec 21, 2019 at 4:20 AM albert kao <albertk...@gmail.com> wrote:
>> >
>> > How to fix the "com.ctc.wstx.exc.WstxUnexpectedCharException: Unexpected 
>> > character '{' (code 123) in prolog; expected '&lt;'" in samples/json ?
>> >
>> >
>> > cd $AXIS2_HOME/samples/json
>> > ant run.client
>> >
>> >
>> >
>> > client.compile:
>> >     [javac] /home/carmen/axis2-1.7.9/samples/json/build.xml:66: warning: 
>> > 'includeantruntime' was not set, defaulting to build.sysclasspath=last; 
>> > set to false for repeatable builds
>> >
>> > client.jar:
>> >       [jar] Building jar: 
>> > /home/carmen/axis2-1.7.9/samples/json/build/json-client.jar
>> >
>> > run.client:
>> >      [java] log4j:WARN No appenders could be found for logger 
>> > (org.apache.commons.httpclient.params.DefaultHttpParams).
>> >      [java] log4j:WARN Please initialize the log4j system properly.
>> >      [java] Response status code: 500
>> >      [java] Response body:
>> >      [java] <?xml version='1.0' encoding='UTF-8'?><soapenv:Envelope 
>> > xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope";><soapenv:Header 
>> > xmlns:wsa="http://www.w3.org/2005/08/addressing";><wsa:Action>http://www.w3.org/2005/08/addressing/soap/fault</wsa:Action></soapenv:Header><soapenv:Body><soapenv:Fault><soapenv:Code><soapenv:Value>soapenv:Receiver</soapenv:Value></soapenv:Code><soapenv:Reason><soapenv:Text
>> >  xml:lang="en-US">com.ctc.wstx.exc.WstxUnexpectedCharException: Unexpected 
>> > character '{' (code 123) in prolog; expected '&lt;'
>> >      [java]  at [row,col {unknown-source}]: 
>> > [1,1]</soapenv:Text></soapenv:Reason><soapenv:Detail/></soapenv:Fault></soapenv:Body></soapenv:Envelope>
>> >
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: java-user-unsubscr...@axis.apache.org
>> For additional commands, e-mail: java-user-h...@axis.apache.org
>>

---------------------------------------------------------------------
To unsubscribe, e-mail: java-user-unsubscr...@axis.apache.org
For additional commands, e-mail: java-user-h...@axis.apache.org

Reply via email to