No.

Seems it validate accordingly. Why do we have such implementation ? I think
its need to handle by endpoint if json pass all necessary data into post
chunk.

*Dakshika Jayathilaka*
Software Engineer
WSO2, Inc.
lean.enterprise.middleware
0771100911


On Mon, Jun 23, 2014 at 3:42 AM, Dinesh Bandara <dine...@wso2.com> wrote:

> Hi Dakshika,
>
> Have you deployed a cartridge with the display name "MySQL" earlier ?
>
>
>
>
> On Mon, Jun 23, 2014 at 8:19 AM, Nirmal Fernando <nirmal070...@gmail.com>
> wrote:
>
>> 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/
>>
>
>
>
> --
> *Dinesh Bandara*
> Software Engineer
> WSO2 Inc.; http://wso2.com
> lean.enterprise.middleware
>
>

Reply via email to