Problem: Normally we can deploy, update or delete OSB projects directly in OSB Service Bus Console (SBconsole). But last month I faced an issue with updating a corrupted OSB project in SBconsole. As I tried to update this OSB project, I got the error message
java.lang.NoClassDefFoundError: com/bea/wli/sb/transports/file/FileRequestHeaders at weblogic.utils.StackTraceDisabled.unknownMethod()
Removing the project didn’t work either with same error message. So, I was basically stuck with a corrupt OSB project and couldn’t delete and redeploy the new version of this project.
Solution: After investigating for a while, I finally figured it out that I had to delete the project manually through the server. In the following I’ll depict the steps that were needed to fix my issue:
Infrastructure topology: One Admin Server and a OSB Cluster with two nodes
I did the following steps to resolve this problem:
- Only stop the Admin Server.
Very important: you don’t need to stop managed OSB servers!!!
- Find the corresponding project of your service in „<OSB Domain>/osb/configfwk/core/ <ProjectNameDir>“. In the „<OSB Domain>/osb/config/core“ directory, every OSB project is stored inside one folder with the same name as the deployed project. For this environment there are 3 locations to store the corrupt OSB project. Principally the Servicebus (SB) console refers only to the project in Admin Server and shows it on the SB consle. At runtime the same projects in the 2 Managed Servers are used to run the instance.
Attention: For safety you need to remove the corrupt project from all 3 servers with the same location in each server
- Additionally, there are also other folders In the „<OSB Domain>/osb/config/core“ directory like
inside the core folder. For example, in the binary directory stored some binary files associated with some OSB projects, such as referenced jar files (could imagine that should be called from java callouts in OSB). Leave those folders unchanged!
- Clear cache and tmp folder in „<OSB Domain>/servers/AdminServer“ directory for the Admin Server
- Start the Admin Server, if you check the SB consle now, the corrupt OSB project has been removed
- You can redeploy the same project again via SB consle
- Test your project in SB console
These steps helped me to remove the corrupt OSB project, after redeployment I didn’t observe any problems with any OSB projects.