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

Reply via email to