0

Environment configuration:

  • Windows Server 2008 R2 Enterprise
  • WebSphere application server v7
  • Worklight Server v6
  • Derby database (default install through the Worklight Installation Mananger)

After deploying my application and adapter on my worklight production server, when I test my application using Worklight Console's MBS (iPad environment), I get the following error:

getNewsFeed_CallbackFailure response :: {"status":500,"invocationContext":null,"errorCode":"UNEXPECTED_ERROR","errorMsg":"The server was unable to process the request from the application. Please try again later."}

Where getNewFeed_CallbackFailure is called when the procedure newsFeed of my DB2Adapter fail.

And I have this error in my Websphere SystemOut.log:

[9/2/13 10:38:14:612 CEST] 00000032 SystemOut     O CustomAuthenticationModule
[9/2/13 10:38:14:612 CEST] 00000032 CustomAuthent I   CustomAuthenticationModule initialized
[9/2/13 10:38:14:612 CEST] 00000032 SystemOut     O init CustomLogi nModule
[9/2/13 10:38:14:628 CEST] 00000032 servlet       E com.ibm.ws.webcontainer.servlet.ServletWrapper service SRVE0068E: Uncaught exception created in one of the service methods of the servlet GadgetAPIServlet in application claim_insurance_war. Exception created : com.worklight.server.auth.api.WorkLightAuthenticationException
    at com.worklight.core.auth.impl.AuthenticationContext.checkAuthentication(AuthenticationContext.java:518)
    at com.worklight.core.auth.impl.AuthenticationContext.processRealms(AuthenticationContext.java:384)
    at com.worklight.core.auth.impl.AuthenticationContext.pushCurrentResource(AuthenticationContext.java:361)
    at com.worklight.core.auth.impl.AuthenticationServiceBean.accessResource(AuthenticationServiceBean.java:75)
    at com.worklight.integration.services.impl.DataAccessServiceImpl.invokeProcedureInternal(DataAccessServiceImpl.java:377)
    at com.worklight.integration.services.impl.DataAccessServiceImpl.invokeProcedure(DataAccessServiceImpl.java:112)
    at com.worklight.gadgets.serving.handler.BackendQueryHandler.getContent(BackendQueryHandler.java:142)
    at com.worklight.gadgets.serving.handler.BackendQueryHandler.doPost(BackendQueryHandler.java:80)
    at com.worklight.gadgets.serving.GadgetAPIServlet.doGetOrPost(GadgetAPIServlet.java:154)
    at com.worklight.gadgets.serving.GadgetAPIServlet.lockedGetOrPost(GadgetAPIServlet.java:111)
    at com.worklight.gadgets.serving.GadgetAPIServlet.doPost(GadgetAPIServlet.java:102)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:738)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:831)
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1443)
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1384)
    at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:131)
    at com.worklight.core.auth.impl.AuthenticationFilter$1.execute(AuthenticationFilter.java:192)
    at com.worklight.core.auth.impl.AuthenticationServiceBean.accessResource(AuthenticationServiceBean.java:76)
    at com.worklight.core.auth.impl.AuthenticationFilter.doFilter(AuthenticationFilter.java:196)
    at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:188)
    at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:116)
    at com.ibm.ws.webcontainer.filter.WebAppFilterChain._doFilter(WebAppFilterChain.java:77)
    at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:852)
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:785)
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:443)
    at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:175)
    at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:91)
    at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:859)
    at com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1557)
    at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:173)
    at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:455)
    at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:384)
    at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:83)
    at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165)
    at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
    at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)
    at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138)
    at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:202)
    at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:766)
    at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:896)
    at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1527)

The first 3 lines of the log file comes from my Custom authentication login module :

            ***Generic custom authentication code from worklight sample***

public class CustomAuthenticationModule implements WorkLightAuthenticator{
    private static final Logger logger = Logger.getLogger(CustomAuthenticationModule.class.getName());

    private Map<String, Object> authenticationData = null;

    public void init(Map<String, String> options) throws MissingConfigurationOptionException {
        System.out.println("CustomAuthenticationModule");
        logger.info("CustomAuthenticationModule initialized");
    }
     ............

                  ***My custom authentication code***

public class CustomLoginModule implements WorkLightAuthLoginModule {

    private String USERNAME;
    private String PASSWORD;

    public void init(Map<String, String> options) throws MissingConfigurationOptionException {
        System.out.println("init CustomLogi nModule");
    }
        ............

Besides this, I don't have any error on the Worklight development server ... the adapter works like a charm.

Idan Adar
  • 44,156
  • 13
  • 50
  • 89
user2702566
  • 115
  • 15

1 Answers1

0

This type of error has been long fixed post-6.0.0.0; so I would suggest to upgrade at the very least to Worklight 6.0.0.2, if not to 6.1.0.1.

There is no local workaround to employ.
If you are an IBM customer or business partner, you can download the above versions from IBM Fix Central.

Idan Adar
  • 44,156
  • 13
  • 50
  • 89