Errors from the REST API are returned in a JSON structure or an XML structure.
Error messages have the following XML structure.
<error>
<code>error_code</code>
<message>error_message</message>
<causemessage>error_message</causemessage>
<stacktrace>stacktrace</stacktrace>
<diagnosticMessages>
<diagnosticMessage>error_message1</diagnosticMessage>
<diagnosticMessage>error_message2</diagnosticMessage>
<diagnosticMessage>error_messageN</diagnosticMessage>
</diagnosticMessages>
<inserts>
<insert>insert1</insert>
<insert>insert2</insert>
<insert>insertN</insert>
</inserts>
</error>
Error messages have the following JSON structure.
{
"error": {
"diagnosticMessages": [{
"diagnosticMessage": "error_message1"
},
{
"diagnosticMessage": "error_message2"
},
{
"diagnosticMessage": "error_messageN"
}],
"message": "message",
"stacktrace": "stacktrace",
"code": "error_code",
"causemessage": "message"
}
}
The following example shows an XML error message:
<error>
<code>GSR1350E</code>
<message>GSR1427E: The Governance Policy Validator has encountered one problem.</message>
<causemessage>GSR1427E: The Governance Policy Validator has encountered one problem.</causemessage>
<stacktrace>com.ibm.serviceregistry.ServiceRegistryValidationException: GSR1427E: The Governance Policy Validator has encountered one problem.
ERROR GSR1427E: The Governance Policy Validator has encountered one problem.
ERROR GSR1420E: RelationshipAssertion: The Capability must have a Charter associated in order to perform the "Propose Charter" transition. . There are not enough target objects on this relationship. The minimum is 1 [Assertion name: CapabilityLifecycleDetailRights.CapabilityCharterAvailableCheck]
com.ibm.sr.policy.manager.PolicyManager.validatePolicies(PolicyManager.java:738)
com.ibm.sr.policy.manager.PolicyManager.validatePolicies(PolicyManager.java:688)
com.ibm.sr.governance.validator.GovernancePolicyValidator.transition(GovernancePolicyValidator.java:158)
com.ibm.sr.api.ServiceRegistryValidatorImpl.invokeValidators(ServiceRegistryValidatorImpl.java:302)
com.ibm.sr.api.ServiceRegistryValidatorImpl.transition(ServiceRegistryValidatorImpl.java:206)
com.ibm.sr.governance.api.ServiceRegistryGovernanceImpl.invokeValidation(ServiceRegistryGovernanceImpl.java:1194)
com.ibm.sr.governance.api.ServiceRegistryGovernanceImpl.transition(ServiceRegistryGovernanceImpl.java:621)
com.ibm.serviceregistry.governance.ServiceRegistryGovernanceBean.transition(ServiceRegistryGovernanceBean.java:413)
com.ibm.serviceregistry.governance.EJSLocalStatelessServiceRegistryGovernance_602675c1.transition(EJSLocalStatelessServiceRegistryGovernance_602675c1.java:610)
com.ibm.sr.data.servlet.MetadataHandler.doPutWithContent(MetadataHandler.java:1031)
com.ibm.sr.data.servlet.MetadataHandler.doPut(MetadataHandler.java:862)
com.ibm.sr.data.servlet.Content.doPut(Content.java:400)
javax.servlet.http.HttpServlet.service(HttpServlet.java:598)
javax.servlet.http.HttpServlet.service(HttpServlet.java:668)
com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1214)
com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:774)
com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:456)
com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:178)
com.ibm.ws.webcontainer.filter.WebAppFilterChain.invokeTarget(WebAppFilterChain.java:125)
com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:92)
com.ibm.sr.api.StreamingCompressedResponseServletFilter.doFilter(StreamingCompressedResponseServletFilter.java:173)
com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:192)
com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:89)
com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:926)
com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1023)
com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3703)
com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:304)
com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:962)
com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1662)
com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:195)
com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:452)
com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:511)
com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:305)
com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:276)
com.ibm.ws.ssl.channel.impl.SSLConnectionLink.determineNextChannel(SSLConnectionLink.java:1049)
com.ibm.ws.ssl.channel.impl.SSLConnectionLink.readyInboundPostHandshake(SSLConnectionLink.java:717)
com.ibm.ws.ssl.channel.impl.SSLConnectionLink.readyInbound(SSLConnectionLink.java:571)
com.ibm.ws.ssl.channel.impl.SSLConnectionLink.ready(SSLConnectionLink.java:295)
com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscriminators(NewConnectionInitialReadCallback.java:214)
com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete(NewConnectionInitialReadCallback.java:113)
com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165)
com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)
com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138)
com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204)
com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775)
com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905)
com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1659)</stacktrace>
<diagnosticMessages>
<diagnosticMessage>ERROR GSR1427E: The Governance Policy Validator has encountered one problem.</diagnosticMessage>
<diagnosticMessage>ERROR GSR1420E: RelationshipAssertion: The Capability must have a Charter associated in order to perform the "Propose Charter" transition. . There are not enough target objects on this relationship. The minimum is 1 [Assertion name: CapabilityLifecycleDetailRights.CapabilityCharterAvailableCheck]</diagnosticMessage>
</diagnosticMessages>
<inserts>
<insert>The Capability must have a Charter associated in order to perform the "Propose Charter" transition.</insert>
</inserts>
<error>