I recently installed Oracle Service Registry V 10.1.3 on Oracle SOA Suite (with Oracle Application Server 10g R3 10.1.3.2) running on Linux box.
For step by step installation of Oracle Registry (UDDI) Click Here.
Registry application build, including installation was successful and there was no error in install log of registry ($ORACLE_HOME/log/install.log) .
After restarting (Oracle Application Server/SOA Suite) via opmn (opmnctl stopall; opmnctl startall), when I tried to access the registry control URL /registry/uddi/web I received following error:
500 Internal Server Error
500 Internal Server means “The server encountered an unexpected condition which prevented it from fulfilling the request” to more know about all server status code click here
HTTP Server status code 500 means issue is with application server and nothing wrong with Web (HTTP) Server. It was time to look at application log .
Registry application was deployed under default OC4J (JVM from Oracle) with name home
When i checked application.log under [Oracle AS Home]\ j2ee\ home\ application-deployments\ registry\ home_default_group_1 folder, I got following entries:
09/01/22 05:51:30.721 10.1.3.1.0 Started
09/01/22 05:52:36.946 registry: [DEBUG] constructed http URL is: http://xxxx:7777/registry/ …
09/01/22 05:53:04.255 registry: Error initializing servlet
java.lang.ExceptionInInitializerError
at com.systinet.uddi.inquiry.v1.validation.cache.TModelCache.<clinit>(TModelCache.java:24)
at com.systinet.uddi.inquiry.v1.validation.FindContentsValidator.<init>(FindContentsValidator.java:77)
at com.systinet.uddi.inquiry.v1.validation.FindContentsValidator.getInstance(FindContentsValidator.java:70)
at com.systinet.uddi.inquiry.v1. InquiryApiImplCore.init(InquiryApiImplCore.java:90)
at com.systinet.uddi.inquiry.v1.InquiryApiImplCore.<init>(InquiryApiImplCore.java:66)
at com.systinet.uddi.inquiry.v1.InquiryApiImplCore.getApiInstance(InquiryApiImplCore.java:76)
at com.systinet.uddi.inquiry.v1.InquiryApiImpl.init(InquiryApiImpl.java:67)
at com.systinet.uddi.inquiry.v1.InquiryApiImpl.<init>(InquiryApiImpl.java:42)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
at java.lang.Class.newInstance0(Class.java:350)
at java.lang.Class.newInstance(Class.java:303)
at com.systinet.uddi.WaspUDDIModule.createApiInstance(WaspUDDIModule.java:90)
at com.systinet.uddi.WaspUDDIModule.load(WaspUDDIModule.java:53)
at com.idoox.wasp.ModuleRepository.loadModule(ModuleRepository.java:120)
at com.idoox.wasp.ModuleRepository.addModule(ModuleRepository.java:71)
at com.systinet.wasp.admin.PackageRepositoryImpl.notifyRepositories(PackageRepositoryImpl.java:1858)
at com.systinet.wasp.admin.PackageRepositoryImpl.loadPackage(PackageRepositoryImpl.java:1005)
at com.systinet.wasp.admin.PackageRepositoryImpl.resolveDependencies(PackageRepositoryImpl.java:1088)
at com.systinet.wasp.admin.PackageRepositoryImpl.init(PackageRepositoryImpl.java:245)
at com.idoox.wasp.ModuleRepository.loadModules(ModuleRepository.java:198)
at com.systinet.wasp.WaspImpl.boot(WaspImpl.java:383)
at org.systinet.wasp.Wasp.init(Wasp.java:151)
at com.systinet.transport.servlet.server.Servlet.init(Unknown Source)
at com.evermind.server.http.HttpApplication.loadServlet(HttpApplication.java:2361)
at com.evermind.server.http.HttpApplication. findServlet(HttpApplication.java:4810)
at com.evermind.server.http.HttpApplication.findServlet(HttpApplication.java:4734)
at com.evermind.server.http.HttpApplication.initPreloadServlets(HttpApplication.java:4922)
at com.evermind.server.http.HttpApplication. initDynamic(HttpApplication.java:1134)
at com.evermind.server.http.HttpApplication.<init>(HttpApplication.java:738)
at com.evermind.server.ApplicationStateRunning.getHttpApplication(ApplicationStateRunning.java:414)
at com.evermind.server.Application.getHttpApplication(Application.java:545)
at com.evermind.server.http.HttpSite$ HttpApplicationRunTimeReference. createHttpApplicationFromReference(HttpSite.java:1990)
at com.evermind.server.http.HttpSite$ HttpApplicationRunTimeReference.<init>(HttpSite.java:1909)
at com.evermind.server.http.HttpSite.initApplications(HttpSite.java:645)
at com.evermind.server.http.HttpSite.setConfig(HttpSite.java:290)
at com.evermind.server.http.HttpServer.setSites(HttpServer.java:270)
at com.evermind.server.http.HttpServer.setConfig(HttpServer.java:177)
at com.evermind.server.ApplicationServer. initializeHttp(ApplicationServer.java:2450)
at com.evermind.server.ApplicationServer.setConfig(ApplicationServer.java:998)
at com.evermind.server.ApplicationServerLauncher.run(ApplicationServerLauncher.java:131)
at java.lang.Thread.run(Thread.java:595)
Caused by: java.lang.NullPointerException: This list does not support null elements.
at org.systinet.uddi.client.base.StringArrayList.add(StringArrayList.java:150)
at org.systinet.uddi.client.base.StringArrayList.<init>(StringArrayList.java:42)
… 18 more
CAUSE: Wrong JDBC driver during installation
FIX: Reinstall with new JDBC ojdbc14.jar from here
Re-Installation Steps
1) Drop the user you created in database for creating repository for UDDI & recreate it
sql> drop user <user_name> cascade;
User Dropped
SQL> create user uddiuser identified by welcome1;
User created.
SQL> grant connect, resource to uddiuser;
Grant succeeded.
2)Undeploy the registry from application server. This can be done via ias console (Enterprise Manager Console).
htp://<hostname>:<port>/em
Click Home : OC4J –>Applications tab –>select registry & click on undeploy tab.
3) Download new ojdbc14.jar from here: here
& replace the jar file under <ORACLE_HOME>/jdbc/lib/ojdbc14.jar with the new downloaded file.
cd <ORACLE_HOME>/jdbc/lib/
mv ojdbc14.jar ojdbc14.jar_ ori
cp <downloaded_jar_file_location> <ORACLE_HOME>/jdbc/lib/
4) Reinstall the OSR, pointing to the new ojdbc14.jar