Hi Isuru,
Yes, I did.
Actually, my property is of complex type, similar to LoadThresholds. One thing
I don't understand is that the methods in LoadThresholds class don't have any
body defined (just looks like an interface but is defined as class), is there
another configuration required ? In my case I had to define the getters/
setters to compile the class ? Is there any other configuration required for
the RestAPI ?
I also changed
./org.apache.stratos.autoscaler.service.stub/target/classes/AutoScalerService.wsdl
(see below)
My bean class:
(in
../org.apache.stratos.rest.endpoint/target/classes/org/apache/stratos/rest/endpoint/bean/autoscaler/policy/autoscale$)
package org.apache.stratos.rest.endpoint.bean.autoscaler.policy.autoscale;
import javax.xml.bind.annotation.XmlRootElement;
@XmlRootElement
public class ServiceGroup {
private String id;
public String bootDependencies;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getBootDependencies() {
return bootDependencies;
}
public void setBootDependencies(String bootDependencies) {
this.bootDependencies = bootDependencies;
}
}
// comparable bean class:
package org.apache.stratos.rest.endpoint.bean.autoscaler.policy.autoscale;
import javax.xml.bind.annotation.XmlRootElement;
@XmlRootElement
public class LoadThresholds {
public RequestsInFlight requestsInFlight;
public MemoryConsumption memoryConsumption;
public LoadAverage loadAverage;
}
// changes in
org.apache.stratos.autoscaler.service.stub/target/classes/AutoScalerService.wsdl
...
<xs:complexType name="AutoscalePolicy">
<xs:sequence>
<xs:element minOccurs="0" name="description"
nillable="true" type="xs:string"></xs:element>
<xs:element minOccurs="0" name="displayName"
nillable="true" type="xs:string"></xs:element>
<xs:element minOccurs="0" name="id" nillable="true"
type="xs:string"></xs:element>
<xs:element minOccurs="0" name="loadThresholds"
nillable="true" type="ax214:LoadThresholds"></xs:element>
<xs:element minOccurs="0" name="serviceGroup"
nillable="true" type="ax214:ServiceGroup"></xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="ServiceGroup">
<xs:sequence>
<xs:element minOccurs="0" name="id" nillable="true"
type="xs:string"></xs:element>
<xs:element minOccurs="0" name="bootDependencies"
nillable="true" type="xs:string"></xs:element>
</xs:sequence>
</xs:complexType>
...
From: Isuru Haththotuwa [mailto:[email protected]]
Sent: Wednesday, April 09, 2014 10:35 PM
To: [email protected]
Subject: Re: Issue with stratos manager / JAXB exception
Hi Martin,
Did you do the required modifications for the autoscaler policy bean class as
well? The relevant bean is
org.apache.stratos.rest.endpoint.bean.autoscaler.policy.autoscale.AutoscalePolicy.
You will need to add your property to this as well.
On Thu, Apr 10, 2014 at 10:42 AM, Martin Eppel (meppel)
<[email protected]<mailto:[email protected]>> wrote:
Hi,
I made some experimental code modification (added a new property to the
autoscaler policy) which might cause the exception below, any pointers on how
to best debug this or what I might have missed to add ?
Thanks
Martin
TID: [0] [SCC] [2014-04-09 14:09:36,355] WARN
{org.apache.cxf.jaxrs.provider.AbstractJAXBProvider} -
javax.xml.bind.UnmarshalException
- with linked exception:
[com.sun.istack.SAXParseException2; columnNumber: 0; unexpected element
(uri:"", local:"admin"). Expected elements are <{}tenantInfoBean>]
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(CompositeValve.java:178)
at
org.wso2.carbon.tomcat.ext.valves.CarbonTomcatValve$1.invoke(CarbonTomcatValve.java:47)
at
org.wso2.carbon.webapp.mgt.TenantLazyLoaderValve.invoke(TenantLazyLoaderValve.java:56)
at
org.wso2.carbon.tomcat.ext.valves.TomcatValveContainer.invokeValves(TomcatValveContainer.java:47)
at
org.wso2.carbon.tomcat.ext.valves.CompositeValve.invoke(CompositeValve.java:141)
at
org.wso2.carbon.tomcat.ext.valves.CarbonStuckThreadDetectionValve.invoke(CarbonStuckThreadDetectionValve.java:156)
at
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936)
at
org.wso2.carbon.tomcat.ext.valves.CarbonContextCreatorValve.invoke(CarbonContextCreatorValve.java:52)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
at
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)
at
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
at
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1653)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:744)
Caused by: com.sun.istack.SAXParseException2; columnNumber: 0; unexpected
element (uri:"", local:"admin"). Expected elements are <{}tenantInfoBean>
at
com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext.handleEvent(UnmarshallingContext.java:642)
at
com.sun.xml.bind.v2.runtime.unmarshaller.Loader.reportError(Loader.java:254)
at
com.sun.xml.bind.v2.runtime.unmarshaller.Loader.reportError(Loader.java:249)
at
com.sun.xml.bind.v2.runtime.unmarshaller.Loader.reportUnexpectedChildElement(Loader.java:116)
at
com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext$DefaultRootLoader.childElement(UnmarshallingContext.java:1049)
at
com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext._startElement(UnmarshallingContext.java:478)
at
com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext.startElement(UnmarshallingContext.java:459)
at
com.sun.xml.bind.v2.runtime.unmarshaller.InterningXmlVisitor.startElement(InterningXmlVisitor.java:71)
at
com.sun.xml.bind.v2.runtime.unmarshaller.StAXStreamConnector.handleStartElement(StAXStreamConnector.java:242)
at
com.sun.xml.bind.v2.runtime.unmarshaller.StAXStreamConnector.bridge(StAXStreamConnector.java:176)
at
com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:360)
... 42 more
Caused by: javax.xml.bind.UnmarshalException: unexpected element (uri:"",
local:"admin"). Expected elements are <{}tenantInfoBean>
... 53 more
{org.apache.cxf.jaxrs.provider.AbstractJAXBProvider}
--
Thanks and Regards,
Isuru H.
+94 716 358 048<tel:%2B94%20716%20358%20048>