OHDSI Home | Forums | Wiki | Github

Olympus runs from localhost:20000 but not from my.hostname:20000

We are encountering a problem running Olympus from any url other than localhost:20000. We downloaded the Olympus war file, provided the database (Postgres) configuration values and set the path for Achilles analysis files as well. After we start up Olympus, then access from our local machine within our web browser at http:://localhost:20000, Achilles runs fine, and we can access all of our Achilles analyses. If we instead access either locally or from another network machine we can log into Olympus, and see the home screen, but when we click on Achilles, we see “loading…” and nothing happens (running locally) or remotely, we see the error, “The server refused the connection”". When successful, we see all four of the following lines in the log and when unsuccessful, we do not see the last two:

2016-05-20 16:45:15.422 ERROR qtp109966438-90 org.apache.velocity -  - ResourceManager : unable to find resource 'templates/common/common_template.html.vm' in any resource loader.
2016-05-20 16:45:19.757 ERROR qtp109966438-96 org.apache.velocity -  - ResourceManager : unable to find resource 'templates/common/common_template.html.vm' in any resource loader.
2016-05-20 16:45:23.911 DEBUG qtp109966438-98 org.ohdsi.olympus.controller.AchillesController -  - Attempting to parse datasources.json from : /home/lambert/AchillesWeb-master/data/datasources.json
2016-05-20 16:45:23.929 DEBUG qtp109966438-95 org.ohdsi.olympus.controller.AchillesController -  - Attempting to parse datasources.json from : /home/lambert/AchillesWeb-master/data/SAMPLE/dashboard.json

Any idea what this could be? We opened up both port 20000 and port 5432 in our firewall. Is there another port we need to open up to see Achilles results? Note, when starting the application launcher, the only Host Server that works for launching is localhost – I would have thought giving the hostname for the server would be appropriate!?

Thank you.

I’m not sure the specific source of that error, but I will say that the Olympus WAR is running an older version of the OHDSI stack that pales in comparison to the new features of ATLAS 1.0. So my recommendation for right now would be to install the WebAPI via these instructions and run Atlas on top of that.

As part of the website update, we will deprecate Olympus for new users and drive traffic to Atlas.

Thanks,

Jon

Thanks @jon_duke. I was about to recommend the same! :slight_smile:

@Christophe_Lambert If you do decide to try Atlas out, please let us know if you run into any issues.

I have been trying to run Atlas on top of WebAPI. I am running into few problems with the WebAPI launch.

  1. I followed all the instructions in the given [link][1] and configured settings.xml file and launched .war file in manager app of Apache Tomcat server. Later i configured the source and source_daimon. In our CDM v5 implementation, we have standardized vocabulary and CDM tables in schema named: new_dataset. Thus, my configuration values are as listed below:

    INSERT INTO web_api.source (source_id, source_name, source_key, source_connection, source_dialect) VALUES (1, ‘CDM v5’, ‘new_dataset’, ‘jdbc:postgresql://localhost:5432/OHDSI_CDM?user=postgres&password=**’, ‘postgresql’);
    INSERT INTO web_api.source (source_id, source_name, source_key, source_connection, source_dialect) VALUES (2, ‘Standarized vocabulary’, ‘new_dataset’, 'jdbc:postgresql://localhost:5432/OHDSI_CDM?user=postgres&password=
    ’, ‘postgresql’);
    INSERT INTO web_api.source_daimon (source_daimon_id, source_id, daimon_type, table_qualifier, priority) VALUES (1,1,0, ‘new_dataset’, 0);
    INSERT INTO web_api.source_daimon (source_daimon_id, source_id, daimon_type, table_qualifier, priority) VALUES (2,1,1, ‘new_dataset’, 0);
    INSERT INTO web_api.source_daimon (source_daimon_id, source_id, daimon_type, table_qualifier, priority) VALUES (3,1,2, ‘web_api’, 0);
    INSERT INTO web_api.source_daimon (source_daimon_id, source_id, daimon_type, table_qualifier, priority) VALUES (4,2,1, ‘new_dataset’, 1);

Are these correct? Or there needs to be some changes?

2.Do I need to create web.xml in WEB-INF as well as instructed [here][2] ? I feel that’s the same as settings.xml.

3.I can launch WebAPI on tomcat. but while testing i cannot access any request e.g.

http://localhost:8080/WebAPI/vocabulary/search/cardiomyopathy

It just shows the the same page as for :

http://localhost:8080/WebAPI/

which contains(Its just small excerpt but i guess you get the idea):

{"payload":{"cause":null,"stackTrace":[{"methodName":"run","fileName":"ServerRuntime.java","lineNumber":268,"className":"org.glassfish.jersey.server.ServerRuntime$1","nativeMethod":false},{"methodName":"call","fileName":"Errors.java","lineNumber":271,"className":"org.glassfish.jersey.internal.Errors$1","nativeMethod":false},{"methodName":"call","fileName":"Errors.java","lineNumber":267,"className":"org.glassfish.jersey.internal.Errors$1","nativeMethod":false},{"methodName":"process","fileName":"Errors.java","lineNumber":315,"className":"org.glassfish.jersey.internal.Errors","nativeMethod":false},{"methodName":"process","fileName":"Errors.java","lineNumber":297,"className":"org.glassfish.jersey.internal.Errors","nativeMethod":false},{"methodName":"process","fileName":"Errors.java","lineNumber":267,"className":"org.glassfish.jersey.internal.Errors","nativeMethod":false},{"methodName":"runInScope","fileName":"RequestScope.java","lineNumber":297,"className":"org.glassfish.jersey.process.internal.RequestScope","nativeMethod":false}

This leads to problems in Atlas as it cannot retrieve any concepts or Vocabulary. Any help would be appreciated. Thank you for your time.
[1]: https://github.com/OHDSI/WebAPI/wiki/WebAPI-Installation-Guide
[2]: https://github.com/OHDSI/WebAPI#configuration

@Chris_Knoll @anthonysena may see something obvious that I missed :smile: but here are my initial thoughts:

  • When you call http://localhost:8080/WebAPI/source/sources from curl (or load that URL in a browser) do you get the same error?

  • Running my eyes over the source/daimon configuration SQL, nothing pops off the page as being obviously incorrect.

  • Without a web.xml file, how are you configuring context?

  • Are the Tomcat server logs clean? When you start Tomcat, deploy the WAR or invoke the WebAPI, do you see errors/exceptions? Based on the stack trace referenced in the payload, I suspect that you do and that there is information in the logs that would help you. Without more information, I can not tell if the problem is the absence of WEB XML, a database driver initialization issue, etc. If you were to post relevant exception/error-related excerpts from the logs or even the logs themselves that might help.

It works fine for source/sources

[{"sourceId":2,"sourceName":"Standarized vocabulary","sourceDialect":"postgres","sourceKey":"new_dataset","daimons":[{"sourceDaimonId":4,"daimonType":"Vocabulary","tableQualifier":"new_dataset","priority":"1"}]},{"sourceId":1,"sourceName":"CDM v5","sourceDialect":"postgres","sourceKey":"new_dataset","daimons":[{"sourceDaimonId":1,"daimonType":"CDM","tableQualifier":"new_dataset","priority":"0"},{"sourceDaimonId":2,"daimonType":"Vocabulary","tableQualifier":"new_dataset","priority":"0"},{"sourceDaimonId":3,"daimonType":"Results","tableQualifier":"web_api","priority":"0"}]}]

Can you post a sample web.xml?

Apache tomcat logs are clean

Thank you.

I restarted my .war in manager and got this. Any ideas ?

This after launching Atlas.

The log entries look fine, as you indicated.

What do the log entries look like for the invocation vocabulary/search/cardiomyopathy?

What about http://localhost:8080/WebAPI/new_dataset/vocabulary/search/cardiomyopathy? :smile:

Its the same. No change. Technically cannot access anything from new_dataset.

Hi. Your source and source_daimon configuration look good at first glance. Per Taha’s, note you’ll need to make sure you include the SOURCE_KEY for your vocabulary daimon in the URL:

I understand that this did not work as well unfortunately. Could you include the full response you receive back from the WebAPI in this thread? I know the response is long but it will contain the actual exception towards the end of the message and that will help us to find the root cause here.

This is the full result displayed by http://localhost:8080/WebAPI/new_dataset/vocabulary/search/cardiomyopathy

{"payload":{"cause":null,"stackTrace":[{"methodName":"getSingleResult","fileName":"QueryImpl.java","lineNumber":505,"className":"org.hibernate.jpa.internal.QueryImpl","nativeMethod":false},{"methodName":"getSingleResult","fileName":"CriteriaQueryTypeQueryAdapter.java","lineNumber":71,"className":"org.hibernate.jpa.criteria.compile.CriteriaQueryTypeQueryAdapter","nativeMethod":false},{"methodName":"invoke0","fileName":"NativeMethodAccessorImpl.java","lineNumber":-2,"className":"sun.reflect.NativeMethodAccessorImpl","nativeMethod":true},{"methodName":"invoke","fileName":"NativeMethodAccessorImpl.java","lineNumber":62,"className":"sun.reflect.NativeMethodAccessorImpl","nativeMethod":false},{"methodName":"invoke","fileName":"DelegatingMethodAccessorImpl.java","lineNumber":43,"className":"sun.reflect.DelegatingMethodAccessorImpl","nativeMethod":false},{"methodName":"invoke","fileName":"Method.java","lineNumber":498,"className":"java.lang.reflect.Method","nativeMethod":false},{"methodName":"invoke","fileName":"SharedEntityManagerCreator.java","lineNumber":362,"className":"org.springframework.orm.jpa.SharedEntityManagerCreator$DeferredQueryInvocationHandler","nativeMethod":false},{"methodName":"getSingleResult","fileName":null,"lineNumber":-1,"className":"com.sun.proxy.$Proxy204","nativeMethod":false},{"methodName":"doExecute","fileName":"JpaQueryExecution.java","lineNumber":197,"className":"org.springframework.data.jpa.repository.query.JpaQueryExecution$SingleEntityExecution","nativeMethod":false},{"methodName":"execute","fileName":"JpaQueryExecution.java","lineNumber":74,"className":"org.springframework.data.jpa.repository.query.JpaQueryExecution","nativeMethod":false},{"methodName":"doExecute","fileName":"AbstractJpaQuery.java","lineNumber":98,"className":"org.springframework.data.jpa.repository.query.AbstractJpaQuery","nativeMethod":false},{"methodName":"execute","fileName":"AbstractJpaQuery.java","lineNumber":89,"className":"org.springframework.data.jpa.repository.query.AbstractJpaQuery","nativeMethod":false},{"methodName":"doInvoke","fileName":"RepositoryFactorySupport.java","lineNumber":421,"className":"org.springframework.data.repository.core.support.RepositoryFactorySupport$QueryExecutorMethodInterceptor","nativeMethod":false},{"methodName":"invoke","fileName":"RepositoryFactorySupport.java","lineNumber":381,"className":"org.springframework.data.repository.core.support.RepositoryFactorySupport$QueryExecutorMethodInterceptor","nativeMethod":false},{"methodName":"proceed","fileName":"ReflectiveMethodInvocation.java","lineNumber":179,"className":"org.springframework.aop.framework.ReflectiveMethodInvocation","nativeMethod":false},{"methodName":"invoke","fileName":"RepositoryFactorySupport.java","lineNumber":512,"className":"org.springframework.data.repository.core.support.RepositoryFactorySupport$DefaultMethodInvokingMethodInterceptor","nativeMethod":false},{"methodName":"proceed","fileName":"ReflectiveMethodInvocation.java","lineNumber":179,"className":"org.springframework.aop.framework.ReflectiveMethodInvocation","nativeMethod":false},{"methodName":"proceedWithInvocation","fileName":"TransactionInterceptor.java","lineNumber":99,"className":"org.springframework.transaction.interceptor.TransactionInterceptor$1","nativeMethod":false},{"methodName":"invokeWithinTransaction","fileName":"TransactionAspectSupport.java","lineNumber":281,"className":"org.springframework.transaction.interceptor.TransactionAspectSupport","nativeMethod":false},{"methodName":"invoke","fileName":"TransactionInterceptor.java","lineNumber":96,"className":"org.springframework.transaction.interceptor.TransactionInterceptor","nativeMethod":false},{"methodName":"proceed","fileName":"ReflectiveMethodInvocation.java","lineNumber":179,"className":"org.springframework.aop.framework.ReflectiveMethodInvocation","nativeMethod":false},{"methodName":"invoke","fileName":"PersistenceExceptionTranslationInterceptor.java","lineNumber":136,"className":"org.springframework.dao.support.PersistenceExceptionTranslationInterceptor","nativeMethod":false},{"methodName":"proceed","fileName":"ReflectiveMethodInvocation.java","lineNumber":179,"className":"org.springframework.aop.framework.ReflectiveMethodInvocation","nativeMethod":false},{"methodName":"invoke","fileName":"CrudMethodMetadataPostProcessor.java","lineNumber":122,"className":"org.springframework.data.jpa.repository.support.CrudMethodMetadataPostProcessor$CrudMethodMetadataPopulatingMethodIntercceptor","nativeMethod":false},{"methodName":"proceed","fileName":"ReflectiveMethodInvocation.java","lineNumber":179,"className":"org.springframework.aop.framework.ReflectiveMethodInvocation","nativeMethod":false},{"methodName":"invoke","fileName":"ExposeInvocationInterceptor.java","lineNumber":92,"className":"org.springframework.aop.interceptor.ExposeInvocationInterceptor","nativeMethod":false},{"methodName":"proceed","fileName":"ReflectiveMethodInvocation.java","lineNumber":179,"className":"org.springframework.aop.framework.ReflectiveMethodInvocation","nativeMethod":false},{"methodName":"invoke","fileName":"JdkDynamicAopProxy.java","lineNumber":207,"className":"org.springframework.aop.framework.JdkDynamicAopProxy","nativeMethod":false},{"methodName":"findBySourceKey","fileName":null,"lineNumber":-1,"className":"com.sun.proxy.$Proxy102","nativeMethod":false},{"methodName":"executeSearch","fileName":"VocabularyService.java","lineNumber":220,"className":"org.ohdsi.webapi.service.VocabularyService","nativeMethod":false},{"methodName":"invoke0","fileName":"NativeMethodAccessorImpl.java","lineNumber":-2,"className":"sun.reflect.NativeMethodAccessorImpl","nativeMethod":true},{"methodName":"invoke","fileName":"NativeMethodAccessorImpl.java","lineNumber":62,"className":"sun.reflect.NativeMethodAccessorImpl","nativeMethod":false},{"methodName":"invoke","fileName":"DelegatingMethodAccessorImpl.java","lineNumber":43,"className":"sun.reflect.DelegatingMethodAccessorImpl","nativeMethod":false},{"methodName":"invoke","fileName":"Method.java","lineNumber":498,"className":"java.lang.reflect.Method","nativeMethod":false},{"methodName":"invoke","fileName":"ResourceMethodInvocationHandlerFactory.java","lineNumber":81,"className":"org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory$1","nativeMethod":false},{"methodName":"run","fileName":"AbstractJavaResourceMethodDispatcher.java","lineNumber":151,"className":"org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1","nativeMethod":false},{"methodName":"invoke","fileName":"AbstractJavaResourceMethodDispatcher.java","lineNumber":172,"className":"org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher","nativeMethod":false},{"methodName":"doDispatch","fileName":"JavaResourceMethodDispatcherProvider.java","lineNumber":195,"className":"org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$TypeOutInvoker","nativeMethod":false},{"methodName":"dispatch","fileName":"AbstractJavaResourceMethodDispatcher.java","lineNumber":104,"className":"org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher","nativeMethod":false},{"methodName":"invoke","fileName":"ResourceMethodInvoker.java","lineNumber":384,"className":"org.glassfish.jersey.server.model.ResourceMethodInvoker","nativeMethod":false},{"methodName":"apply","fileName":"ResourceMethodInvoker.java","lineNumber":342,"className":"org.glassfish.jersey.server.model.ResourceMethodInvoker","nativeMethod":false},{"methodName":"apply","fileName":"ResourceMethodInvoker.java","lineNumber":101,"className":"org.glassfish.jersey.server.model.ResourceMethodInvoker","nativeMethod":false},{"methodName":"run","fileName":"ServerRuntime.java","lineNumber":271,"className":"org.glassfish.jersey.server.ServerRuntime$1","nativeMethod":false},{"methodName":"call","fileName":"Errors.java","lineNumber":271,"className":"org.glassfish.jersey.internal.Errors$1","nativeMethod":false},{"methodName":"call","fileName":"Errors.java","lineNumber":267,"className":"org.glassfish.jersey.internal.Errors$1","nativeMethod":false},{"methodName":"process","fileName":"Errors.java","lineNumber":315,"className":"org.glassfish.jersey.internal.Errors","nativeMethod":false},{"methodName":"process","fileName":"Errors.java","lineNumber":297,"className":"org.glassfish.jersey.internal.Errors","nativeMethod":false},{"methodName":"process","fileName":"Errors.java","lineNumber":267,"className":"org.glassfish.jersey.internal.Errors","nativeMethod":false},{"methodName":"runInScope","fileName":"RequestScope.java","lineNumber":297,"className":"org.glassfish.jersey.process.internal.RequestScope","nativeMethod":false},{"methodName":"process","fileName":"ServerRuntime.java","lineNumber":254,"className":"org.glassfish.jersey.server.ServerRuntime","nativeMethod":false},{"methodName":"handle","fileName":"ApplicationHandler.java","lineNumber":1030,"className":"org.glassfish.jersey.server.ApplicationHandler","nativeMethod":false},{"methodName":"service","fileName":"WebComponent.java","lineNumber":377,"className":"org.glassfish.jersey.servlet.WebComponent","nativeMethod":false},{"methodName":"service","fileName":"ServletContainer.java","lineNumber":381,"className":"org.glassfish.jersey.servlet.ServletContainer","nativeMethod":false},{"methodName":"service","fileName":"ServletContainer.java","lineNumber":344,"className":"org.glassfish.jersey.servlet.ServletContainer","nativeMethod":false},{"methodName":"service","fileName":"ServletContainer.java","lineNumber":221,"className":"org.glassfish.jersey.servlet.ServletContainer","nativeMethod":false},{"methodName":"internalDoFilter","fileName":"ApplicationFilterChain.java","lineNumber":292,"className":"org.apache.catalina.core.ApplicationFilterChain","nativeMethod":false},{"methodName":"doFilter","fileName":"ApplicationFilterChain.java","lineNumber":207,"className":"org.apache.catalina.core.ApplicationFilterChain","nativeMethod":false},{"methodName":"doFilter","fileName":"WsFilter.java","lineNumber":52,"className":"org.apache.tomcat.websocket.server.WsFilter","nativeMethod":false},{"methodName":"internalDoFilter","fileName":"ApplicationFilterChain.java","lineNumber":240,"className":"org.apache.catalina.core.ApplicationFilterChain","nativeMethod":false},{"methodName":"doFilter","fileName":"ApplicationFilterChain.java","lineNumber":207,"className":"org.apache.catalina.core.ApplicationFilterChain","nativeMethod":false},{"methodName":"doFilterInternal","fileName":"HiddenHttpMethodFilter.java","lineNumber":77,"className":"org.springframework.web.filter.HiddenHttpMethodFilter","nativeMethod":false},{"methodName":"doFilter","fileName":"OncePerRequestFilter.java","lineNumber":107,"className":"org.springframework.web.filter.OncePerRequestFilter","nativeMethod":false},{"methodName":"internalDoFilter","fileName":"ApplicationFilterChain.java","lineNumber":240,"className":"org.apache.catalina.core.ApplicationFilterChain","nativeMethod":false},{"methodName":"doFilter","fileName":"ApplicationFilterChain.java","lineNumber":207,"className":"org.apache.catalina.core.ApplicationFilterChain","nativeMethod":false},{"methodName":"doFilterInternal","fileName":"RequestContextFilter.java","lineNumber":98,"className":"org.springframework.web.filter.RequestContextFilter","nativeMethod":false},{"methodName":"doFilter","fileName":"OncePerRequestFilter.java","lineNumber":107,"className":"org.springframework.web.filter.OncePerRequestFilter","nativeMethod":false},{"methodName":"internalDoFilter","fileName":"ApplicationFilterChain.java","lineNumber":240,"className":"org.apache.catalina.core.ApplicationFilterChain","nativeMethod":false},{"methodName":"doFilter","fileName":"ApplicationFilterChain.java","lineNumber":207,"className":"org.apache.catalina.core.ApplicationFilterChain","nativeMethod":false},{"methodName":"doFilterInternal","fileName":"CharacterEncodingFilter.java","lineNumber":88,"className":"org.springframework.web.filter.CharacterEncodingFilter","nativeMethod":false},{"methodName":"doFilter","fileName":"OncePerRequestFilter.java","lineNumber":107,"className":"org.springframework.web.filter.OncePerRequestFilter","nativeMethod":false},{"methodName":"internalDoFilter","fileName":"ApplicationFilterChain.java","lineNumber":240,"className":"org.apache.catalina.core.ApplicationFilterChain","nativeMethod":false},{"methodName":"doFilter","fileName":"ApplicationFilterChain.java","lineNumber":207,"className":"org.apache.catalina.core.ApplicationFilterChain","nativeMethod":false},{"methodName":"doFilter","fileName":"ErrorPageFilter.java","lineNumber":108,"className":"org.springframework.boot.context.web.ErrorPageFilter","nativeMethod":false},{"methodName":"access$000","fileName":"ErrorPageFilter.java","lineNumber":59,"className":"org.springframework.boot.context.web.ErrorPageFilter","nativeMethod":false},{"methodName":"doFilterInternal","fileName":"ErrorPageFilter.java","lineNumber":88,"className":"org.springframework.boot.context.web.ErrorPageFilter$1","nativeMethod":false},{"methodName":"doFilter","fileName":"OncePerRequestFilter.java","lineNumber":107,"className":"org.springframework.web.filter.OncePerRequestFilter","nativeMethod":false},{"methodName":"doFilter","fileName":"ErrorPageFilter.java","lineNumber":101,"className":"org.springframework.boot.context.web.ErrorPageFilter","nativeMethod":false},{"methodName":"internalDoFilter","fileName":"ApplicationFilterChain.java","lineNumber":240,"className":"org.apache.catalina.core.ApplicationFilterChain","nativeMethod":false},{"methodName":"doFilter","fileName":"ApplicationFilterChain.java","lineNumber":207,"className":"org.apache.catalina.core.ApplicationFilterChain","nativeMethod":false},{"methodName":"invoke","fileName":"StandardWrapperValve.java","lineNumber":212,"className":"org.apache.catalina.core.StandardWrapperValve","nativeMethod":false},{"methodName":"invoke","fileName":"StandardContextValve.java","lineNumber":106,"className":"org.apache.catalina.core.StandardContextValve","nativeMethod":false},{"methodName":"invoke","fileName":"AuthenticatorBase.java","lineNumber":502,"className":"org.apache.catalina.authenticator.AuthenticatorBase","nativeMethod":false},{"methodName":"invoke","fileName":"StandardHostValve.java","lineNumber":141,"className":"org.apache.catalina.core.StandardHostValve","nativeMethod":false},{"methodName":"invoke","fileName":"ErrorReportValve.java","lineNumber":79,"className":"org.apache.catalina.valves.ErrorReportValve","nativeMethod":false},{"methodName":"invoke","fileName":"AbstractAccessLogValve.java","lineNumber":616,"className":"org.apache.catalina.valves.AbstractAccessLogValve","nativeMethod":false},{"methodName":"invoke","fileName":"StandardEngineValve.java","lineNumber":88,"className":"org.apache.catalina.core.StandardEngineValve","nativeMethod":false},{"methodName":"service","fileName":"CoyoteAdapter.java","lineNumber":528,"className":"org.apache.catalina.connector.CoyoteAdapter","nativeMethod":false},{"methodName":"process","fileName":"AbstractHttp11Processor.java","lineNumber":1099,"className":"org.apache.coyote.http11.AbstractHttp11Processor","nativeMethod":false},{"methodName":"process","fileName":"AbstractProtocol.java","lineNumber":672,"className":"org.apache.coyote.AbstractProtocol$AbstractConnectionHandler","nativeMethod":false},{"methodName":"doRun","fileName":"AprEndpoint.java","lineNumber":2508,"className":"org.apache.tomcat.util.net.AprEndpoint$SocketProcessor","nativeMethod":false},{"methodName":"run","fileName":"AprEndpoint.java","lineNumber":2497,"className":"org.apache.tomcat.util.net.AprEndpoint$SocketProcessor","nativeMethod":false},{"methodName":"runWorker","fileName":"ThreadPoolExecutor.java","lineNumber":1142,"className":"java.util.concurrent.ThreadPoolExecutor","nativeMethod":false},{"methodName":"run","fileName":"ThreadPoolExecutor.java","lineNumber":617,"className":"java.util.concurrent.ThreadPoolExecutor$Worker","nativeMethod":false},{"methodName":"run","fileName":"TaskThread.java","lineNumber":61,"className":"org.apache.tomcat.util.threads.TaskThread$WrappingRunnable","nativeMethod":false},{"methodName":"run","fileName":"Thread.java","lineNumber":745,"className":"java.lang.Thread","nativeMethod":false}],"localizedMessage":"result returns more than one elements","message":"result returns more than one elements","suppressed":[]},"headers":{"id":"f4867685-d018-e79d-a939-6a02afe31fd4","timestamp":1464726919165}}

Is this the error you were referring to:

localizedMessage":"result returns more than one elements","message":"result returns more than one elements","suppressed"

I am also attaching the screen capture :

I found in your screenshot a reference to the VocabularyService.java line 220.

The code there is:

    Source source = getSourceRepository().findBySourceKey(sourceKey);

This call to the source repository should return exactly 1 record. But, in your insert statements, you put 2 sources with the same source key (new_dataset). Either make your source #2 key to ‘vocab’ or source 1 called ‘cdm’ but they both can’t share the same key.

Made the required changes. It shows like this

[{"sourceId":1,"sourceName":"CDM v5","sourceDialect":"postgresql","sourceKey":"cdm","daimons":[{"sourceDaimonId":1,"daimonType":"CDM","tableQualifier":"new_dataset","priority":"0"},{"sourceDaimonId":2,"daimonType":"Vocabulary","tableQualifier":"new_dataset","priority":"0"},{"sourceDaimonId":3,"daimonType":"Results","tableQualifier":"web_api","priority":"0"}]},{"sourceId":2,"sourceName":"Standarized vocabulary","sourceDialect":"postgresql","sourceKey":"vocab","daimons":[{"sourceDaimonId":4,"daimonType":"Vocabulary","tableQualifier":"new_dataset","priority":"1"}]}]

Still getting errors. New screen capture looks like this:

This looks like a null pointer exception. It’s happening on this line:

A null exception would happen if source returned null. It’s not clear from your message the URL you are accessing, but are you still using ‘new_dataset’ as your source key? Because based on the output above, you now have 2 source keys: ‘cdm’ and ‘vocab’.What URL did you use to access the service?

-Chris

t