I think this happens after the introduction of json validators.
On Mon, Jun 23, 2014 at 5:56 AM, Dakshika Jayathilaka <daksh...@wso2.com> wrote: > Hi, > > Do we have any specific order on this? here is my sample json > > { > "type": "mysql", > "provider": "data", > "host": "apachestratos.org", > "displayName": "MySQL", > "description": "MySQL Cartridge", > "version": "5.5", > "multiTenant": "false", > "portMapping": [ > { > "protocol": "http", > "port": "80", > "proxyPort": "8280" > } > ], > "deployment": { > }, > "iaasProvider": [ > { > "type": "ec2", > "imageId": "ap-southeast-1/ami-42297810", > "maxInstanceLimit": "4", > "property": [ > { > "name": "instanceType", > "value": "m1.medium" > }, > { > "name": "keyPair", > "value": "manula" > } > ] > } > ], > "loadBalancer": { > "type": "lb", > "property": { > "name": "default.load.balancer", > "value": "true" > } > } > } > > > I'm loading this content via python code, default python *json.load *change > above order according to key. > > {"displayName":"MySQL","description":"MySQL Cartridge","deployment":{}," > multiTenant":"false","portMapping":[{"proxyPort":" > 8280","protocol":"http","port":"80"}],"iaasProvider":[{" > maxInstanceLimit":"4","property":[{"name":"instanceType","value":" > RegionOne/2"},{"name":"keyPair","value":"mytest"}]," > type":"openstack","imageId":"RegionOne/2f9bdcb3-6a7c-4b31- > a978-713a08c84b3c"}],"host":"apachestratos.org","version":" > 5.5","provider":"data","type":"mysql","loadBalancer":{" > property":{"name":"default.load.balancer","value":"true"},"type":"lb"}} > > when i send reordered json via curl. i'm getting below error on Stratos. > > > [2014-06-22 13:54:50,905] WARN > {org.apache.cxf.jaxrs.provider.AbstractJAXBProvider} - > javax.xml.bind.UnmarshalException > - with linked exception: > [org.xml.sax.SAXParseException: cvc-complex-type.2.4.a: Invalid content > was found starting with element 'displayName'. One of '{type}' is expected.] > at > com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.handleStreamException(UnmarshallerImpl.java:425) > at > com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:362) > at > com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:332) > at > org.apache.cxf.jaxrs.provider.json.JSONProvider.readFrom(JSONProvider.java:234) > at > org.apache.cxf.jaxrs.utils.JAXRSUtils.readFromMessageBodyReader(JAXRSUtils.java:1288) > at > org.apache.cxf.jaxrs.utils.JAXRSUtils.readFromMessageBody(JAXRSUtils.java:1239) > at > org.apache.cxf.jaxrs.utils.JAXRSUtils.processParameter(JAXRSUtils.java:790) > at > org.apache.cxf.jaxrs.utils.JAXRSUtils.processParameters(JAXRSUtils.java:749) > at > org.apache.cxf.jaxrs.interceptor.JAXRSInInterceptor.processRequest(JAXRSInInterceptor.java:236) > at > org.apache.cxf.jaxrs.interceptor.JAXRSInInterceptor.handleMessage(JAXRSInInterceptor.java:101) > at > org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:271) > at > org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121) > at > org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:239) > at > org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:223) > at > org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:203) > at > org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:137) > at > org.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CXFNonSpringServlet.java:159) > at > org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:286) > at > org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(AbstractHTTPServlet.java:206) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:755) > at > org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:262) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) > at > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222) > at > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123) > at > org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) > at > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171) > at > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99) > at org.wso2.carbon.tomcat.ext.valves.CompositeValve.continueInvocation( > > > *Dakshika Jayathilaka* > Software Engineer > WSO2, Inc. > lean.enterprise.middleware > 0771100911 > -- Best Regards, Nirmal Nirmal Fernando. PPMC Member & Committer of Apache Stratos, Senior Software Engineer, WSO2 Inc. Blog: http://nirmalfdo.blogspot.com/