我正在尝试从远程客户端发送和esb消息,但我不断收到此错误:
org.jboss.soa.esb.listeners.message.MessageDeliverException: org.apache.ws.scout.transport.TransportException: java.lang.reflect.InvocationTargetException
at org.jboss.soa.esb.client.ServiceInvoker.loadServiceClusterInfo(ServiceInvoker.java:545)
at org.jboss.soa.esb.client.ServiceInvoker.<init>(ServiceInvoker.java:174)
at org.jboss.soa.esb.client.ServiceInvoker.<init>(ServiceInvoker.java:155)
at org.jboss.soa.esb.client.ServiceInvoker.<init>(ServiceInvoker.java:197)
at cz.certicon.esb.test.SenderESB.sendAMessage(SenderESB.java:24)
at cz.certicon.esb.test.Manager.sendESBMessage(Manager.java:94)
at cz.certicon.esb.test.MyFrame.actionPerformed(MyFrame.java:122)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$400(Unknown Source)
at java.awt.EventQueue$2.run(Unknown Source)
at java.awt.EventQueue$2.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Caused by: org.jboss.soa.esb.services.registry.RegistryException: org.apache.ws.scout.transport.TransportException: java.lang.reflect.InvocationTargetException
at org.jboss.internal.soa.esb.services.registry.JAXRRegistryImpl.findEPRs(JAXRRegistryImpl.java:358)
at org.jboss.internal.soa.esb.services.registry.InVMRegistryInterceptor.findEPRs(InVMRegistryInterceptor.java:85)
at org.jboss.soa.esb.services.registry.RegistryFactory$HeadRegistryInterceptor.findEPRs(RegistryFactory.java:229)
at org.jboss.soa.esb.listeners.RegistryUtil.getEprs(RegistryUtil.java:228)
at org.jboss.soa.esb.client.ServiceInvoker.loadServiceClusterInfo(ServiceInvoker.java:532)
... 42 more
Caused by: javax.xml.registry.JAXRException: org.apache.ws.scout.transport.TransportException: java.lang.reflect.InvocationTargetException
at org.apache.ws.scout.registry.BusinessQueryManagerV3Impl.findConcepts(BusinessQueryManagerV3Impl.java:535)
at org.jboss.internal.soa.esb.services.registry.JAXRRegistryImpl.getJBossESBTModel(JAXRRegistryImpl.java:795)
at org.jboss.internal.soa.esb.services.registry.JAXRRegistryImpl.findEPRs(JAXRRegistryImpl.java:327)
... 46 more
我找到了许多关于设置远程客户端的教程,但没有一个帮助过我。
我正在使用带有ESB 4.11的JBoss AS 6并从Eclipse运行我的应用程序(使用JBoss Tools)。发送JMS消息工作正常,但我无法完成这项工作。
这是我发送esb消息的示例代码:
public void sendAMessage(String message) throws Exception {
System.setProperty("javax.xml.registry.ConnectionFactoryClass",
"org.apache.ws.scout.registry.ConnectionFactoryImpl");
Message esbMessage = MessageFactory.getInstance().getMessage();
esbMessage.getBody().add(message);
new ServiceInvoker("FirstServiceESB", "SimpleListener").deliverAsync(esbMessage);
}
1)我导入了JBossESB运行时和JBoss 6.0运行时(包括他们提供的所有库)。
2)我收录了jbossts-common.jar
3)我在META-INF目录中有jboss-esb.xml,uddi.xml和jbossesb-properties.xml(我将这些文件包含为附件,最后两个是从helloworld快速入门复制的...)
老实说,我不知道还能做些什么才能让它发挥作用......感谢任何帮助!
编辑:我已经阅读了一些关于this one的主题,现在我得到了上面提到的错误。我已经包含了他们建议的所有.jar库和.xml文件,但我仍然被卡住了。问题可能在其他地方吗?
答案 0 :(得分:1)
首先需要下载
http://www.redhat.com/products/jbossenterprisemiddleware/soa/download.html(jboss-soa-p-5平台)
并设置在eclipse 项目 - &gt;偏好设置 - esb运行时 - jboss-soa-p-5 。它将解决所有异常。