2 Replies Latest reply on Sep 5, 2017 9:40 AM by Peter@MileHigh

    API Manager Issues

    Peter@MileHigh Level 1

      I have been working with the API Manager, locally on Windows, and find a number of issues/bugs.

       

      When importing a working REST API configured in ColdFusion, it builds the resources but a save fails with an error box (red in the lower right hand corner) that SHOULD contain error text but is empty. (I deleted one of the API's and it saved (the API was similar to another but not identical - I don't know why it thought they were the same, CF allows me to register and run both). One is /Service/club/{ClubID} and the other is /Service/club/{ClubID}-{Account}.  These both work in CF but I cannot have both in the API manager

       

      Also, when trying to test the saved API using basicAuth, I get a 500 server error.  A look in the logs shows an exception that I cannot find information on anywhere.  The entire trace is shown below. The API's work fine when using authentication of none or apiKey

       

      So, I guess the questions are:

       

      1. Why do I receive an empty error box (red box with an icon on the left and an x on the right but no text) and have to refer to the logs to see the error

      2. Why are the API's /Service/club/{ClubID} and /Service/club/{ClubID}-{Account} considered the same API ({Account} is optional but CF didn't have any problems finding the correct method to run)?

      3. What is a GrootException and how do I resolve the server error when trying to use basicAuth

       

      [ERROR] 2017-08-23 10:21:06.921 [XNIO-1 task-16] ExceptionFilter - "Exception occurred when serving the request"

      com.adobe.amp.exception.GrootException: Internal Server Error

      at com.adobe.amp.filter.SecurityFilter.pre(SecurityFilter.java:92)

      at com.adobe.amp.filter.AbstractAPIFilter.invoke(AbstractAPIFilter.java:40)

      at com.adobe.amp.filter.AbstractAPIFilter.invoke(AbstractAPIFilter.java:45)

      at com.adobe.amp.filter.AbstractAPIFilter.invoke(AbstractAPIFilter.java:45)

      at com.adobe.amp.filter.ExceptionFilter.invoke(ExceptionFilter.java:64)

      at com.adobe.amp.filter.AbstractAPIFilter.invoke(AbstractAPIFilter.java:45)

      at com.adobe.amp.filter.GrootServlet.service(GrootServlet.java:96)

      at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)

      at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:85)

      at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSec urityRoleHandler.java:62)

      at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHa ndler.java:36)

      at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLI nformationAssociationHandler.java:131)

      at io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(Serv letAuthenticationCallHandler.java:57)

      at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)

      at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfid entialityHandler.java:46)

      at io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleReque st(ServletConfidentialityConstraintHandler.java:64)

      at io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(Authenticatio nMechanismsHandler.java:60)

      at io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(Cac hedAuthenticatedSessionHandler.java:77)

      at io.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest(Abs tractSecurityContextAssociationHandler.java:43)

      at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)

      at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)

      at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandl er.java:285)

      at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler. java:264)

      at io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java: 81)

      at io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler. java:175)

      at io.undertow.server.Connectors.executeRootHandler(Connectors.java:202)

      at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:802)

      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)

      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)

      at java.lang.Thread.run(Thread.java:745)