我对此很陌生,一直在 apache 论坛和其他地方寻找解决方案,但一直找不到任何东西。
首先,我遵循了以下关于获取 Apache ODE 1.3.6 设置以及 BPEL 与 eclipse 的指南:
以及以下创建和部署 hello world 项目的指南:
我已经检查了其他人,这些似乎非常正确。
现在这是我的两个问题:
我可以正常启动 ODE 服务器;但是当我停止它时,我会收到警报:
A Java Exception has Occurred
在控制台中我得到以下信息:
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/juli/logging/LogFactory
at org.apache.catalina.startup.Bootstrap.<clinit>(Bootstrap.java:60)
Caused by: java.lang.ClassNotFoundException: org.apache.juli.logging.LogFactory
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 1 more
一两分钟后,服务器必须被终止,因为它不会停止
tomcat-juli.jar 在类路径中(否则我在启动服务器时也会出现此错误)
第二期是:
2) 当我尝试在 Ode 服务器上部署 HelloWorld 项目时,我得到以下信息(在控制台中:
11:49:54,599 WARN [ProcessStoreImpl] Deployment failed within the engine, store undeploying process.
org.apache.ode.bpel.iapi.ContextException: Could not activate endpoint for service {http://helloworld.localhost}HelloWorldService and port HelloWorldPort
at org.apache.ode.axis2.BindingContextImpl.activateMyRoleEndpoint(BindingContextImpl.java:83)
at org.apache.ode.bpel.engine.BpelProcess.activate(BpelProcess.java:588)
at org.apache.ode.bpel.engine.BpelEngineImpl.registerProcess(BpelEngineImpl.java:346)
at org.apache.ode.bpel.engine.BpelServerImpl.register(BpelServerImpl.java:321)
at org.apache.ode.axis2.ODEServer.handleEvent(ODEServer.java:665)
at org.apache.ode.axis2.ODEServer.access$100(ODEServer.java:89)
at org.apache.ode.axis2.ODEServer$ProcessStoreListenerImpl.onProcessStoreEvent(ODEServer.java:641)
at org.apache.ode.store.ProcessStoreImpl.fireEvent(ProcessStoreImpl.java:592)
at org.apache.ode.store.ProcessStoreImpl.fireStateChange(ProcessStoreImpl.java:598)
at org.apache.ode.store.ProcessStoreImpl.deploy(ProcessStoreImpl.java:311)
at org.apache.ode.store.ProcessStoreImpl.deploy(ProcessStoreImpl.java:172)
at org.apache.ode.axis2.deploy.DeploymentPoller.check(DeploymentPoller.java:160)
at org.apache.ode.axis2.deploy.DeploymentPoller.access$300(DeploymentPoller.java:60)
at org.apache.ode.axis2.deploy.DeploymentPoller$PollingThread.run(DeploymentPoller.java:251)
Caused by: org.apache.ode.axis2.OdeFault: The soap:address http://localhost:8080/HelloWorld used for service {http://helloworld.localhost}HelloWorldService and port HelloWorldPort should be of the form http://hostname:port/ode/processes/myProcessEndpointName
at org.apache.ode.axis2.hooks.ODEAxisService.extractServiceName(ODEAxisService.java:226)
at org.apache.ode.axis2.hooks.ODEAxisService.createService(ODEAxisService.java:86)
at org.apache.ode.axis2.BindingContextImpl.createService(BindingContextImpl.java:120)
at org.apache.ode.axis2.BindingContextImpl.activateMyRoleEndpoint(BindingContextImpl.java:78)
... 13 more
11:49:54,640 INFO [BpelServerImpl] Unregistered process {http://helloworld.localhost}HelloWorld-5.
11:49:54,641 ERROR [DeploymentPoller] Deployment of BPEL_HelloWorld failed, aborting for now.
org.apache.ode.bpel.iapi.ContextException: Could not activate endpoint for service {http://helloworld.localhost}HelloWorldService and port HelloWorldPort
at org.apache.ode.axis2.BindingContextImpl.activateMyRoleEndpoint(BindingContextImpl.java:83)
at org.apache.ode.bpel.engine.BpelProcess.activate(BpelProcess.java:588)
at org.apache.ode.bpel.engine.BpelEngineImpl.registerProcess(BpelEngineImpl.java:346)
at org.apache.ode.bpel.engine.BpelServerImpl.register(BpelServerImpl.java:321)
at org.apache.ode.axis2.ODEServer.handleEvent(ODEServer.java:665)
at org.apache.ode.axis2.ODEServer.access$100(ODEServer.java:89)
at org.apache.ode.axis2.ODEServer$ProcessStoreListenerImpl.onProcessStoreEvent(ODEServer.java:641)
at org.apache.ode.store.ProcessStoreImpl.fireEvent(ProcessStoreImpl.java:592)
at org.apache.ode.store.ProcessStoreImpl.fireStateChange(ProcessStoreImpl.java:598)
at org.apache.ode.store.ProcessStoreImpl.deploy(ProcessStoreImpl.java:311)
at org.apache.ode.store.ProcessStoreImpl.deploy(ProcessStoreImpl.java:172)
at org.apache.ode.axis2.deploy.DeploymentPoller.check(DeploymentPoller.java:160)
at org.apache.ode.axis2.deploy.DeploymentPoller.access$300(DeploymentPoller.java:60)
at org.apache.ode.axis2.deploy.DeploymentPoller$PollingThread.run(DeploymentPoller.java:251)
Caused by: org.apache.ode.axis2.OdeFault: The soap:address http://localhost:8080/HelloWorld used for service {http://helloworld.localhost}HelloWorldService and port HelloWorldPort should be of the form http://hostname:port/ode/processes/myProcessEndpointName
at org.apache.ode.axis2.hooks.ODEAxisService.extractServiceName(ODEAxisService.java:226)
at org.apache.ode.axis2.hooks.ODEAxisService.createService(ODEAxisService.java:86)
at org.apache.ode.axis2.BindingContextImpl.createService(BindingContextImpl.java:120)
at org.apache.ode.axis2.BindingContextImpl.activateMyRoleEndpoint(BindingContextImpl.java:78)
... 13 more
据我所知,BPEL 已配置为在 ODE 环境中运行,但我似乎无法从此跟踪中获得更多信息。
非常感谢任何帮助,谢谢!
最佳答案
需要使用ODE服务地址:
http://localhost:8080/ode/processes/HelloWorld
我从你的日志中可以看出你的地址是
http://localhost:8080/HelloWorld
它对我有用。
关于java - Ode 服务器停止时出错(以及 BPEL 部署错误),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20180158/