- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi to all you vChargeback users out there! I'm trying to get some reports generated using the Chargeback API, but I'm having some difficulty. I'd like to create a usage report for a simple hierarchy, and export it to XML, however, when I send my request to the server, I get "an error has occured". I turned on trace-level logging in vChargeback, and it returned the helpful Java Excpetion that you can see below. It appears that there is a missing enumeration? I am using the values listed in the chargeback API 1.5.0 documentation. Any assistance would be much appreciated!
I will list the response first, and then the request XML that I am sending in:
<Response xmlns="http://www.vmware.com/vcenter/chargeback/1.5.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" status="failure">
<Error majorErrorCode="500" minorErrorCode="0" message="An error has occurred. Please contact the system administrator or try again later." />
<ErrorStackTrace>java.lang.IllegalArgumentException: No enum const class com.vmware.vim.vcenter.chargeback.utils.ReportType.USAGE_REPORT
at java.lang.Enum.valueOf(Enum.java:196)
at com.vmware.vim.vcenter.chargeback.utils.ReportType.valueOf(ReportType.java:9)
at com.vmware.vim.vcenter.chargeback.reporting.rest.RestReportingRequestHandler.validateXMLPayloadForCreateReport(RestReportingRequestHandler.java:260)
at com.vmware.vim.vcenter.chargeback.reporting.rest.AbstractRestReportingRequestHandler.constructReport(AbstractRestReportingRequestHandler.java:81)
at com.vmware.vim.vcenter.chargeback.reporting.rest.RestReportingManager.generateReport(RestReportingManager.java:137)
at com.vmware.vim.vcenter.chargeback.reporting.rest.RestReportingManager$$FastClassByCGLIB$$44e0949e.invoke(<generated>)
at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
at org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:700)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:90)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:635)
at com.vmware.vim.vcenter.chargeback.reporting.rest.RestReportingManager$$EnhancerByCGLIB$$a8cf4aee.generateReport(<generated>)
at com.vmware.vim.vcenter.chargeback.rest.facade.CBMImpl.RestReportingManagergenerateReport(CBMImpl.java:8960)
at sun.reflect.GeneratedMethodAccessor1573.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.cxf.service.invoker.AbstractInvoker.performInvocation(AbstractInvoker.java:136)
at org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:82)
at org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:109)
at org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:63)
at org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:56)
at org.apache.cxf.workqueue.SynchronousExecutor.execute(SynchronousExecutor.java:37)
at org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:92)
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:220)
at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:78)
at org.apache.cxf.transport.servlet.ServletDestination.invoke(ServletDestination.java:92)
at org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:283)
at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:128)
at org.apache.cxf.transport.servlet.AbstractCXFServlet.invoke(AbstractCXFServlet.java:174)
at org.apache.cxf.transport.servlet.AbstractCXFServlet.doPost(AbstractCXFServlet.java:152)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.ha.session.JvmRouteBinderValve.invoke(JvmRouteBinderValve.java:227)
at org.apache.catalina.ha.tcp.ReplicationValve.invoke(ReplicationValve.java:347)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.coyote.ajp.AjpAprProcessor.process(AjpAprProcessor.java:427)
at org.apache.coyote.ajp.AjpAprProtocol$AjpConnectionHandler.process(AjpAprProtocol.java:384)
at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1584)
at java.lang.Thread.run(Thread.java:619)
</ErrorStackTrace>
</Response>
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Request xmlns="http://www.vmware.com/vcenter/chargeback/1.5.0">
<Reports>
<Report>
<MetaData>
<Name>api_test</Name>
<Description>api test</Description>
<ReportType>USAGE_REPORT</ReportType>
<ReportPeriod>
<From>1304222400000</From>
<To>1306814400000</To>
</ReportPeriod>
<CreatedBy>0</CreatedBy>
<OwnedByName>nchu</OwnedByName>
<Hierarchies>
<Hierarchy id="3997">
<Entities>
<Entity costModelId="4033" id="3998" />
</Entities>
</Hierarchy>
</Hierarchies>
<ComputingResources>
<ComputingResource id="1" />
<ComputingResource id="5" />
<ComputingResource id="9" />
<ComputingResource id="10" />
</ComputingResources>
</MetaData>
</Report>
</Reports>
</Request>