[jBPM] - Service task exception with non-JTA transaction manager persistence and Tomcat
by navisdrools
navisdrools [https://community.jboss.org/people/navisdrools] created the discussion
"Service task exception with non-JTA transaction manager persistence and Tomcat"
To view the discussion, visit: https://community.jboss.org/message/715345#715345
--------------------------------------------------------------
I am integrating jbpm5 and drools into my company's product. I did a standalone prototype using Bitronix transcation manager with a simple work flow persisting into mysql. Script task, rule, event and service tasks all worked fine. Next I had to move this prototye into Spring and Tomcat. Bitronix did not work with the way we configured Tomcat. Finally, found a posting about using Spring transaction manager. Script task, rule, event and call activcity worked fine exception service task. If anyone could help would be appreciated. Here are my code.
Error
Hibernate: insert into SessionInfo (lastModificationDate, rulesByteArray, startDate, OPTLOCK) values (?, ?, ?, ?)
Session started ... session id = 4
Hibernate: insert into ProcessInstanceInfo (lastModificationDate, lastReadDate, processId, processInstanceByteArray, startDate, state, OPTLOCK) values (?, ?, ?, ?, ?, ?, ?)
Starting process id = 6
java.lang.NullPointerException
at org.drools.persistence.jpa.processinstance.JPAWorkItemManager.internalExecuteWorkItem(JPAWorkItemManager.java:43)
at org.jbpm.workflow.instance.node.WorkItemNodeInstance.internalTrigger(WorkItemNodeInstance.java:105)
at org.jbpm.workflow.instance.impl.NodeInstanceImpl.trigger(NodeInstanceImpl.java:122)
at org.jbpm.workflow.instance.impl.NodeInstanceImpl.triggerConnection(NodeInstanceImpl.java:185)
at org.jbpm.workflow.instance.impl.NodeInstanceImpl.triggerCompleted(NodeInstanceImpl.java:150)
at org.jbpm.workflow.instance.node.ActionNodeInstance.triggerCompleted(ActionNodeInstance.java:55)
at org.jbpm.workflow.instance.node.ActionNodeInstance.internalTrigger(ActionNodeInstance.java:51)
at org.jbpm.workflow.instance.impl.NodeInstanceImpl.trigger(NodeInstanceImpl.java:122)
at org.jbpm.workflow.instance.impl.NodeInstanceImpl.triggerConnection(NodeInstanceImpl.java:185)
at org.jbpm.workflow.instance.impl.NodeInstanceImpl.triggerCompleted(NodeInstanceImpl.java:150)
at org.jbpm.workflow.instance.node.StartNodeInstance.triggerCompleted(StartNodeInstance.java:49)
at org.jbpm.workflow.instance.node.StartNodeInstance.internalTrigger(StartNodeInstance.java:41)
at org.jbpm.workflow.instance.impl.NodeInstanceImpl.trigger(NodeInstanceImpl.java:122)
at org.jbpm.ruleflow.instance.RuleFlowProcessInstance.internalStart(RuleFlowProcessInstance.java:35)
at org.jbpm.process.instance.impl.ProcessInstanceImpl.start(ProcessInstanceImpl.java:188)
at org.jbpm.workflow.instance.impl.WorkflowProcessInstanceImpl.start(WorkflowProcessInstanceImpl.java:303)
at org.jbpm.process.instance.ProcessRuntimeImpl.startProcessInstance(ProcessRuntimeImpl.java:168)
at org.jbpm.process.instance.ProcessRuntimeImpl.startProcess(ProcessRuntimeImpl.java:138)
at org.drools.common.AbstractWorkingMemory.startProcess(AbstractWorkingMemory.java:1079)
at org.drools.impl.StatefulKnowledgeSessionImpl.startProcess(StatefulKnowledgeSessionImpl.java:306)
at org.drools.command.runtime.process.StartProcessCommand.execute(StartProcessCommand.java:119)
at org.drools.command.runtime.process.StartProcessCommand.execute(StartProcessCommand.java:38)
at org.drools.command.impl.DefaultCommandService.execute(DefaultCommandService.java:36)
at org.drools.persistence.SingleSessionCommandService.execute(SingleSessionCommandService.java:345)
at org.drools.command.impl.CommandBasedStatefulKnowledgeSession.startProcess(CommandBasedStatefulKnowledgeSession.java:223)
...
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:470)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:291)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:662)
BPMN
<?xml version="1.0" encoding="UTF-8"?>
<definitions id="Definition"
targetNamespace=" http://www.jboss.org/drools http://www.jboss.org/drools"
typeLanguage=" http://www.java.com/javaTypes http://www.java.com/javaTypes"
expressionLanguage=" http://www.mvel.org/2.0 http://www.mvel.org/2.0"
xmlns=" http://www.omg.org/spec/BPMN/20100524/MODEL http://www.omg.org/spec/BPMN/20100524/MODEL"
xmlns:xsi=" http://www.w3.org/2001/XMLSchema-instance http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation=" http://www.omg.org/spec/BPMN/20100524/MODEL http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd"
xmlns:g=" http://www.jboss.org/drools/flow/gpd http://www.jboss.org/drools/flow/gpd"
xmlns:bpmndi=" http://www.omg.org/spec/BPMN/20100524/DI http://www.omg.org/spec/BPMN/20100524/DI"
xmlns:dc=" http://www.omg.org/spec/DD/20100524/DC http://www.omg.org/spec/DD/20100524/DC"
xmlns:di=" http://www.omg.org/spec/DD/20100524/DI http://www.omg.org/spec/DD/20100524/DI"
xmlns:tns=" http://www.jboss.org/drools http://www.jboss.org/drools">
<process processType="Private" isExecutable="true" id="com.navis.control.TestProcess" name="EventTest.b" >
<!-- nodes -->
<startEvent id="_1" name="Start" />
<endEvent id="_2" name="End" >
<terminateEventDefinition/>
</endEvent>
<scriptTask id="_3" name="Startup" >
<script>System.out.println("Starting process id = " + kcontext.getProcessInstance().getId());</script>
</scriptTask>
<scriptTask id="_4" name="Finish" >
<script>System.out.println("Resuming process id = " + kcontext.getProcessInstance().getId());
System.out.println("Waking Up from event");</script>
</scriptTask>
<task id="_5" name="WorkItem" tns:taskName="TestWorkItem" >
<ioSpecification>
<inputSet>
</inputSet>
<outputSet>
</outputSet>
</ioSpecification>
</task>
<intermediateCatchEvent id="_6" name="Signal" >
<signalEventDefinition signalRef="com.navis.control.TestEvent"/>
</intermediateCatchEvent>
<scriptTask id="_7" name="Sleep" >
<script>System.out.println("Going to sleep");</script>
</scriptTask>
<!-- connections -->
<sequenceFlow id="_4-_2" sourceRef="_4" targetRef="_2" />
<sequenceFlow id="_1-_3" sourceRef="_1" targetRef="_3" />
<sequenceFlow id="_6-_4" sourceRef="_6" targetRef="_4" />
<sequenceFlow id="_3-_5" sourceRef="_3" targetRef="_5" />
<sequenceFlow id="_7-_6" sourceRef="_7" targetRef="_6" />
<sequenceFlow id="_5-_7" sourceRef="_5" targetRef="_7" />
</process>
<bpmndi:BPMNDiagram>
<bpmndi:BPMNPlane bpmnElement="com.navis.control.TestProcess" >
<bpmndi:BPMNShape bpmnElement="_1" >
<dc:Bounds x="46" y="110" width="48" height="48" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="_2" >
<dc:Bounds x="741" y="111" width="48" height="48" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="_3" >
<dc:Bounds x="125" y="111" width="80" height="48" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="_4" >
<dc:Bounds x="606" y="111" width="80" height="48" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="_5" >
<dc:Bounds x="247" y="110" width="100" height="48" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="_6" >
<dc:Bounds x="507" y="111" width="48" height="48" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="_7" >
<dc:Bounds x="385" y="111" width="80" height="48" />
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge bpmnElement="_4-_2" >
<di:waypoint x="646" y="135" />
<di:waypoint x="765" y="135" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="_1-_3" >
<di:waypoint x="70" y="134" />
<di:waypoint x="165" y="135" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="_6-_4" >
<di:waypoint x="531" y="135" />
<di:waypoint x="646" y="135" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="_3-_5" >
<di:waypoint x="165" y="135" />
<di:waypoint x="297" y="134" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="_7-_6" >
<di:waypoint x="425" y="135" />
<di:waypoint x="531" y="135" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="_5-_7" >
<di:waypoint x="297" y="134" />
<di:waypoint x="425" y="135" />
</bpmndi:BPMNEdge>
</bpmndi:BPMNPlane>
</bpmndi:BPMNDiagram>
</definitions>
JAVA
package com.navis.control;
import java.util.HashMap;
import java.util.Map;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
import org.drools.KnowledgeBase;
import org.drools.KnowledgeBaseFactory;
import org.drools.builder.KnowledgeBuilder;
import org.drools.builder.KnowledgeBuilderFactory;
import org.drools.builder.ResourceType;
import org.drools.io.ResourceFactory;
import org.drools.logger.KnowledgeRuntimeLogger;
import org.drools.logger.KnowledgeRuntimeLoggerFactory;
import org.drools.persistence.jpa.JPAKnowledgeService;
import org.drools.runtime.Environment;
import org.drools.runtime.EnvironmentName;
import org.drools.runtime.StatefulKnowledgeSession;
import org.drools.runtime.process.ProcessInstance;
/**
* This is a sample file to launch a process.
*/
public class ProcessTest {
public static final void main(String[] args) {
ProcessTest pt = new ProcessTest();
pt.execute();
}
public String execute() {
try {
// load up the knowledge base
KnowledgeBase kbase = readKnowledgeBase();
// create session
StatefulKnowledgeSession ksession = initSession(kbase);
int sid = ksession.getId();
System.out.println("Session started ... session id = " + sid);
// init logger
KnowledgeRuntimeLogger logger = initLogger(ksession);
// register Work Item Handler
registerHandler(ksession);
// start a new process instance
Map<String, Object> parm = new HashMap<String, Object>();
parm.put("id", 1);
ProcessInstance pi = ksession.startProcess(
"com.navis.control.TestProcess", parm);
long pid = pi.getId();
System.out.println("Process started ... process id = " + pid);
// restart process
// sendEvent(pid, kbase, env);
ksession.dispose();
logger.close();
return "Success";
} catch (Throwable t) {
t.printStackTrace();
return "Exception occurred";
}
}
private KnowledgeBase readKnowledgeBase() throws Exception {
KnowledgeBuilder kbuilder = KnowledgeBuilderFactory
.newKnowledgeBuilder();
kbuilder.add(ResourceFactory.newClassPathResource("data/EventTest.bpmn"),
ResourceType.BPMN2);
return kbuilder.newKnowledgeBase();
}
private StatefulKnowledgeSession initSession(KnowledgeBase kbase) {
try {
// create the entity manager factory and register it in the
// environment
EntityManagerFactory emf = Persistence
.createEntityManagerFactory("org.jbpm.persistence.jpa");
Environment env = KnowledgeBaseFactory.newEnvironment();
env.set(EnvironmentName.ENTITY_MANAGER_FACTORY, emf);
env.set(EnvironmentName.TRANSACTION_MANAGER,
new org.springframework.orm.jpa.JpaTransactionManager(emf));
// load up the knowledge base
// StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession();
StatefulKnowledgeSession ksession = JPAKnowledgeService
.newStatefulKnowledgeSession(kbase, null, env);
return ksession;
} catch (Throwable t) {
t.printStackTrace();
return null;
}
}
private KnowledgeRuntimeLogger initLogger(StatefulKnowledgeSession ksession) {
try {
KnowledgeRuntimeLogger logger = KnowledgeRuntimeLoggerFactory
.newThreadedFileLogger(ksession, "test", 1000);
return logger;
} catch (Throwable t) {
t.printStackTrace();
return null;
}
}
private void registerHandler(StatefulKnowledgeSession ksession) {
try {
ksession.getWorkItemManager().registerWorkItemHandler(
"TestWorkItem", new TestHandler());
} catch (Throwable t) {
t.printStackTrace();
}
}
}
/*
* Copyright (c) 2012 Navis LLC. All Rights Reserved.
*
*/
package com.navis.control;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
import org.drools.KnowledgeBase;
import org.drools.KnowledgeBaseFactory;
import org.drools.builder.KnowledgeBuilder;
import org.drools.builder.KnowledgeBuilderFactory;
import org.drools.builder.ResourceType;
import org.drools.io.ResourceFactory;
import org.drools.logger.KnowledgeRuntimeLogger;
import org.drools.logger.KnowledgeRuntimeLoggerFactory;
import org.drools.persistence.jpa.JPAKnowledgeService;
import org.drools.runtime.Environment;
import org.drools.runtime.EnvironmentName;
import org.drools.runtime.StatefulKnowledgeSession;
/**
* This is a sample file to launch a process.
*/
public class ProcessTest2 {
public static final void main(String[] args) {
ProcessTest2 pt = new ProcessTest2();
pt.execute();
}
public String execute() {
try {
// load up the knowledge base
KnowledgeBase kbase = readKnowledgeBase();
// create session
Environment env = initEnv();
// init logger
int sid=21;
StatefulKnowledgeSession ksession=loadSession(sid, kbase, env);
KnowledgeRuntimeLogger logger = initLogger(ksession);
// register Work Item Handler
registerHandler(ksession);
//restart process
long pid=28;
sendEvent(ksession, pid);
ksession.dispose();
logger.close();
return "Success";
} catch (Throwable t) {
t.printStackTrace();
return "Exception occurred";
}
}
private static void sendEvent(StatefulKnowledgeSession ksession, long pid) {
TestEvent testEvent = new TestEvent();
testEvent.setId(pid);
System.out.println("Sending Event ...");
ksession.signalEvent("com.navis.control.TestEvent", testEvent, pid);
System.out.println("Event sent ...");
ksession.halt();
ksession.dispose();
}
private KnowledgeBase readKnowledgeBase() throws Exception {
KnowledgeBuilder kbuilder = KnowledgeBuilderFactory
.newKnowledgeBuilder();
kbuilder.add(ResourceFactory.newClassPathResource("EventTest.bpmn"),
ResourceType.BPMN2);
return kbuilder.newKnowledgeBase();
}
private Environment initEnv() {
try {
// create the entity manager factory and register it in the
// environment
EntityManagerFactory emf = Persistence
.createEntityManagerFactory("org.jbpm.persistence.jpa");
Environment env = KnowledgeBaseFactory.newEnvironment();
env.set(EnvironmentName.ENTITY_MANAGER_FACTORY, emf);
env.set(EnvironmentName.TRANSACTION_MANAGER,
new org.springframework.orm.jpa.JpaTransactionManager(emf));
// load up the knowledge base
return env;
} catch (Throwable t) {
t.printStackTrace();
return null;
}
}
private StatefulKnowledgeSession loadSession(int sid, KnowledgeBase kbase, Environment env) {
try {
StatefulKnowledgeSession ksession = JPAKnowledgeService.loadStatefulKnowledgeSession(sid, kbase, null, env);
System.out.println("Retreiving session ... id = " + ksession.getId());
return ksession;
} catch (Throwable t) {
t.printStackTrace();
return null;
}
}
private KnowledgeRuntimeLogger initLogger(StatefulKnowledgeSession ksession) {
try {
KnowledgeRuntimeLogger logger = KnowledgeRuntimeLoggerFactory
.newThreadedFileLogger(ksession, "test", 1000);
return logger;
} catch (Throwable t) {
t.printStackTrace();
return null;
}
}
private void registerHandler(StatefulKnowledgeSession ksession) {
try {
ksession.getWorkItemManager().registerWorkItemHandler(
"TestWorkItem", new TestHandler());
} catch (Throwable t) {
t.printStackTrace();
}
}
}
/*
* Copyright (c) 2012 Navis LLC. All Rights Reserved.
*
*/
package com.navis.control;
import org.drools.runtime.process.WorkItem;
import org.drools.runtime.process.WorkItemHandler;
import org.drools.runtime.process.WorkItemManager;
import java.io.Serializable;
public class TestHandler implements WorkItemHandler, Serializable {
/**
*
*/
private static final long serialVersionUID = 1L;
@Override
public void executeWorkItem(WorkItem workItem, WorkItemManager manager) {
System.out.println(">>>>>>>Inside work item handler");
manager.completeWorkItem(workItem.getId(), null);
System.out.println(">>>>>>>work item completed");
}
@Override
public void abortWorkItem(WorkItem workItem, WorkItemManager manager) {
}
}
package com.navis.control;
import java.io.Serializable;
public class TestEvent implements Serializable {
/**
*
*/
private static final long serialVersionUID = -3789036281504593218L;
/**
*
*/
private long id;
private String name;
public void setId(long id) {
this.id = id;
}
public long getId() {
return id;
}
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
}
PERSISTENCE
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<persistence version="1.0"
xmlns:xsi=" http://www.w3.org/2001/XMLSchema-instance http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation=" http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd http://java.sun.com/xml/ns/persistence/orm http://java.sun.com/xml/ns/persistence/orm http://java.sun.com/xml/ns/persistence/orm_1_0.xsd http://java.sun.com/xml/ns/persistence/orm_1_0.xsd"
xmlns:orm=" http://java.sun.com/xml/ns/persistence/orm http://java.sun.com/xml/ns/persistence/orm" xmlns=" http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence">
<persistence-unit name="org.jbpm.persistence.jpa"
transaction-type="RESOURCE_LOCAL">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<non-jta-data-source>java:comp/env/jdbc/jbpmDS</non-jta-data-source>
<mapping-file>META-INF/JBPMorm.xml</mapping-file>
<class>org.drools.persistence.info.SessionInfo</class>
<class>org.drools.persistence.info.WorkItemInfo</class>
<class>org.jbpm.persistence.processinstance.ProcessInstanceInfo</class>
<exclude-unlisted-classes>true</exclude-unlisted-classes>
<properties>
<property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5Dialect"/>
<property name="hibernate.max_fetch_depth" value="3"/>
<property name="hibernate.hbm2ddl.auto" value="update"/>
<property name="hibernate.show_sql" value="true"/>
</properties>
</persistence-unit>
</persistence>
DATASOURCE
<Resource auth="Container" name="jdbc/jbpmDS" type="javax.sql.DataSource"
driverClassName="com.mysql.jdbc.Driver" password="mnrpass" username="mnr"
testOnBorrow="true" validationQuery="select 1"
maxActive="25" maxIdle="10" maxWait="12000"
initialSize="6"
url="jdbc:mysql://localhost/apex?autoReconnect=true&useLegacyDatetimeCode=false" factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"/>
WEB.XML
<resource-ref>
<res-ref-name>jdbc/apexDS</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Application</res-auth>
</resource-ref>
--------------------------------------------------------------
Reply to this message by going to Community
[https://community.jboss.org/message/715345#715345]
Start a new discussion in jBPM at Community
[https://community.jboss.org/choose-container!input.jspa?contentType=1&con...]
13 years
[Beginner's Corner] - Unable to inject jndi dependency into property
by eduscapal
eduscapal [https://community.jboss.org/people/eduscapal] created the discussion
"Unable to inject jndi dependency into property"
To view the discussion, visit: https://community.jboss.org/message/721590#721590
--------------------------------------------------------------
Hi, there!
I'm a beginner here and I've been stuck in a problem for a good while already.
As I can see, the application I'm working on was designed to allow Eclipse to automatically generate the respective EAR and make its deployment on JBoss (I'm using +JBoss 5.1.0.GA+).
The application is run with Maven set to perform +clean install+. Eclipse builds it successfully and copies the EAR file to the JBoss +server/default/deploy+ folder. Then, when I start the application through the JBoss admin page, I am informed by that page about a deployment problem caused by the WAR in the EAR, but that's shown in the last lines of the output. The console output shows much more information, however, and from that I got to distinguish the first error and the related class.
The *+RunTimeException+* message:
11:20:23,681 ERROR [[/acoClient]] Error configuring application listener of class org.client.system.presentation.servlet.TimerListener
java.lang.RuntimeException: Unable to inject jndi dependency: env/org.client.system.presentation.servlet.TimerListener/timerServiceBean into property org.client.system.presentation.servlet.TimerListener.timerServiceBean: TimerServiceBean not bound
at org.jboss.injection.JndiPropertyInjector.lookup(JndiPropertyInjector.java:82)
at org.jboss.injection.JndiPropertyInjector.inject(JndiPropertyInjector.java:99)
The +*TimerListener*+ class:
package org.client.system.presentation.servlet;
import javax.ejb.EJB;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import org.client.system.business.beanInterface.TimerServiceBeanLocal;
public class TimerListener implements ServletContextListener {
@EJB
private TimerServiceBeanLocal timerServiceBean;
@Override
public void contextDestroyed(ServletContextEvent arg0) {
System.out.println("Stopping Timer");
timerServiceBean.destroyTimer();
}
@Override
public void contextInitialized(ServletContextEvent arg0) {
System.out.println("Starting Timer");
timerServiceBean.createTimer();
}
}
Any idea on how I could solve this?
Should I provide you more information, just ask.
Thank you very much in advance!
Cheers,
eduscapal
--------------------------------------------------------------
Reply to this message by going to Community
[https://community.jboss.org/message/721590#721590]
Start a new discussion in Beginner's Corner at Community
[https://community.jboss.org/choose-container!input.jspa?contentType=1&con...]
13 years
[JBoss Web Services] - JBossWS - Supported Target Containers
by Alessio Soldano
Alessio Soldano [https://community.jboss.org/people/asoldano] modified the document:
"JBossWS - Supported Target Containers"
To view the document, visit: https://community.jboss.org/docs/DOC-13569
--------------------------------------------------------------
The following tables show the JBoss Application Server (community) versions JBossWS has been tested with before the release.
h2. Latest JBossWS versions
|| AS Version -> || 5.0.0 || 5.0.1 || 5.1.0 || 6.0.0.M1 || 6.0.0.M3 || 6.0.0.CR1 || 6.0.0.Final || 7.0.0 || 7.0.1 || 7.0.2 || 7.1.0 ||
| jbossws-cxf-3.1.2 | X | X | X |
|
|
|
|
|
|
|
|
| jbossws-cxf-3.2.0 | X | X | X |
|
|
|
|
|
|
|
|
| jbossws-cxf-3.2.1 | X | X | X |
|
|
|
|
|
|
|
|
| jbossws-cxf-3.2.2 | X | X | X | X |
|
|
|
|
|
|
|
| jbossws-cxf-3.3.0 |
| X | X |
| X |
|
|
|
|
|
|
| jbossws-cxf-3.3.1 |
| X | X |
| X |
|
|
|
|
|
|
| jbossws-cxf-3.4.0 |
| X | X |
|
| X |
|
|
|
|
|
| jbossws-cxf-3.4.1 |
|
|
|
|
|
| X |
|
|
|
|
| jbossws-cxf-4.0.0 |
|
|
|
|
|
|
| X | X | X |
|
| jbossws-cxf-4.0.1 |
|
|
|
|
|
|
| X | X | X |
|
| jbossws-cxf-4.0.2 |
|
|
|
|
|
|
|
| X | X | X |
|| AS Version -> || 5.0.0 || 5.0.1 || 5.1.0 || 6.0.0.M1 || 6.0.0.M3 || 6.0.0.CR1 || 6.0.0.Final || 7.0.0 || 7.0.1 || 7.0.2 || 7.1.0 ||
| jbossws-native-3.1.2 | X | X | X |
|
|
|
|
|
|
|
|
| jbossws-native-3.2.0 | X | X | X |
|
|
|
|
|
|
|
|
| jbossws-native-3.2.1 | X | X | X |
|
|
|
|
|
|
|
|
| jbossws-native-3.2.2 | X | X | X | X |
|
|
|
|
|
|
|
| jbossws-native-3.3.0 |
| X | X |
| X |
|
|
|
|
|
|
| jbossws-native-3.3.1 |
| X | X |
| X |
|
|
|
|
|
|
| jbossws-native-3.4.0 |
| X | X |
|
| X |
|
|
|
|
|
| jbossws-native-3.4.1 |
|
|
|
|
|
| X |
|
|
|
|
| jbossws-native-4.0.0 |
|
|
|
|
|
|
| X | X | X |
|
| jbossws-native-4.0.1 |
|
|
|
|
|
|
| X | X | X |
|
| jbossws-native-4.0.2 |
|
|
|
|
|
|
|
| X | X | X |
h2. Legacy / old JBossWS versions
|| AS Version -> || 4.0.5 || 4.2.1 || 4.2.2 || 4.2.3 || 5.0.0
Beta4 || 5.0.0
CR1 || 5.0.0
CR2 || 5.0.0 || 5.0.1 ||
| jbossws-native-2.0.1 | X | X |
|
|
|
|
|
|
|
| jbossws-native-2.0.2 | X | X | X |
|
|
|
|
|
|
| jbossws-native-2.0.3 | X | X | X |
|
|
|
|
|
|
| jbossws-native-3.0.0 |
| X | X |
| X |
|
|
|
|
| jbossws-native-3.0.1 |
| X | X |
| X |
|
|
|
|
| jbossws-native-3.0.2 |
| X | X |
| X | X |
|
|
|
| jbossws-native-3.0.3 |
|
| X | X |
| X | X |
|
|
| jbossws-native-3.0.4 |
|
| X | X |
|
| X |
|
|
| jbossws-native-3.0.5 |
|
| X | X |
|
|
| X |
|
| jbossws-native-3.1.0 |
|
|
| X |
|
|
| X | X |
| jbossws-native-3.1.1 |
|
|
| X |
|
|
| X | X |
|| AS Version -> || 4.0.5 || 4.2.1 || 4.2.2 || 4.2.3 || 5.0.0
Beta4 || 5.0.0
CR1 || 5.0.0
CR2 || 5.0.0 || 5.0.1 || 5.1.0 || 6.0.0.M1 || 6.0.0.M3 ||
| jbossws-metro-3.0.0 |
|
| X |
| X |
|
|
|
|
|
|
|
| jbossws-metro-3.0.1 |
|
| X |
| X |
|
|
|
|
|
|
|
| jbossws-metro-3.0.2 |
|
| X |
| X | X |
|
|
|
|
|
|
| jbossws-metro-3.0.3 |
|
| X | X |
| X | X |
|
|
|
|
|
| jbossws-metro-3.0.4 |
|
| X | X |
|
| X |
|
|
|
|
|
| jbossws-metro-3.0.5 |
|
| X | X |
|
|
| X |
|
|
|
|
| jbossws-metro-3.1.0 |
|
|
| X |
|
|
| X | X |
|
|
|
| jbossws-metro-3.1.1 |
|
|
| X |
|
|
| X | X |
|
|
|
| jbossws-metro-3.2.0 |
|
|
|
|
|
|
| X | X | X |
|
|
| jbossws-metro-3.2.1 |
|
|
|
|
|
|
| X | X | X |
|
|
| jbossws-metro-3.2.2 |
|
|
|
|
|
|
| X | X | X | X |
|
| jbossws-metro-3.3.0 |
|
|
|
|
|
|
|
| X | X |
| X |
| jbossws-metro-3.3.1 |
|
|
|
|
|
|
|
| X | X |
| X |
|| AS Version -> || 4.0.5 || 4.2.1 || 4.2.2 || 4.2.3 || 5.0.0
Beta4 || 5.0.0
CR1 || 5.0.0
CR2 || 5.0.0 || 5.0.1 ||
| jbossws-cxf-3.0.0 |
|
| X |
| X |
|
|
|
|
| jbossws-cxf-3.0.1 |
|
| X |
| X |
|
|
|
|
| jbossws-cxf-3.0.2 |
|
| X |
| X | X |
|
|
|
| jbossws-cxf-3.0.3 |
|
| X | X |
| X | X |
|
|
| jbossws-cxf-3.0.4 |
|
| X | X |
|
| X |
|
|
| jbossws-cxf-3.0.5 |
|
| X | X |
|
|
| X |
|
| jbossws-cxf-3.1.0 |
|
|
| X |
|
|
| X | X |
| jbossws-cxf-3.1.1 |
|
|
| X |
|
|
| X | X |
--------------------------------------------------------------
Comment by going to Community
[https://community.jboss.org/docs/DOC-13569]
Create a new document in JBoss Web Services at Community
[https://community.jboss.org/choose-container!input.jspa?contentType=102&c...]
13 years
[JBoss Web Services] - services from multi-service wsdls routing issue
by spyhunter99
spyhunter99 [https://community.jboss.org/people/spyhunter99] created the discussion
"services from multi-service wsdls routing issue"
To view the discussion, visit: https://community.jboss.org/message/721326#721326
--------------------------------------------------------------
I have a wsdl with 4 services defined and have a stateless ejb that implements all four interfaces. It deploys just fine, however when trying to execute a method in anything other than the first defined service in the wsdl, I get the following message.
If there's workaround, great otherwise i'm off to JIRA
07:46:46,457 ERROR [org.jboss.ws.core.jaxws.SOAPFaultHelperJAXWS] SOAP request exception: org.jboss.ws.core.CommonSOAPFaultException: Endpoint { http://docs.oasi http://docs.oasi
s-open.org/wsn/brw-2}RegisterPublisherPort does not contain operation meta data for: { http://docs.oasis-open.org/wsn/b-2 http://docs.oasis-open.org/wsn/b-2}Notify
at org.jboss.ws.core.server.ServiceEndpointInvoker.getDispatchDestination(ServiceEndpointInvoker.java:528) [:3.4.1.SP1]
at org.jboss.ws.core.server.ServiceEndpointInvoker.invoke(ServiceEndpointInvoker.java:182) [:3.4.1.SP1]
at org.jboss.wsf.stack.jbws.RequestHandlerImpl.processRequest(RequestHandlerImpl.java:527) [:3.4.1.SP1]
at org.jboss.wsf.stack.jbws.RequestHandlerImpl.handleRequest(RequestHandlerImpl.java:316) [:3.4.1.SP1]
at org.jboss.wsf.stack.jbws.RequestHandlerImpl.doPost(RequestHandlerImpl.java:222) [:3.4.1.SP1]
at org.jboss.wsf.stack.jbws.RequestHandlerImpl.handleHttpRequest(RequestHandlerImpl.java:147) [:3.4.1.SP1]
at org.jboss.wsf.common.servlet.AbstractEndpointServlet.service(AbstractEndpointServlet.java:87) [:1.4.1.GA]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) [:1.0.0.Final]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:324) [:6.1.0.Final]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:242) [:6.1.0.Final]
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275) [:6.1.0.Final]
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161) [:6.1.0.Final]
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:181) [:6.1.0.Final]
at org.jboss.modcluster.catalina.CatalinaContext$RequestListenerValve.event(CatalinaContext.java:285) [:1.1.0.Final]
at org.jboss.modcluster.catalina.CatalinaContext$RequestListenerValve.invoke(CatalinaContext.java:261) [:1.1.0.Final]
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:88) [:6.1.0.Final]
at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:100) [:6.1.0.Final]
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:159) [:6.1.0.Final]
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) [:6.1.0.Final]
at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158) [:6.1.0.Final]
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) [:6.1.0.Final]
at org.jboss.web.tomcat.service.request.ActiveRequestResponseCacheValve.invoke(ActiveRequestResponseCacheValve.java:53) [:6.1.0.Final]
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:362) [:6.1.0.Final]
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877) [:6.1.0.Final]
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:654) [:6.1.0.Final]
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:951) [:6.1.0.Final]
at java.lang.Thread.run(Thread.java:662) [:1.6.0_27]
07:46:46,473 ERROR [org.jboss.ws.core.jaxrpc.SOAPFaultHelperJAXRPC] SOAP request exception: javax.xml.rpc.soap.SOAPFaultException: Endpoint { http://docs.oasis-o http://docs.oasis-o
pen.org/wsn/brw-2}RegisterPublisherPort does not contain operation meta data for: { http://docs.oasis-open.org/wsn/b-2 http://docs.oasis-open.org/wsn/b-2}Notify
at org.jboss.ws.core.jaxrpc.SOAPFaultHelperJAXRPC.exceptionToFaultMessage(SOAPFaultHelperJAXRPC.java:189) [:3.4.1.SP1]
at org.jboss.ws.core.jaxws.SOAPFaultHelperJAXWS.exceptionToFaultMessage(SOAPFaultHelperJAXWS.java:193) [:3.4.1.SP1]
at org.jboss.ws.core.jaxws.binding.SOAP11BindingJAXWS.createFaultMessageFromException(SOAP11BindingJAXWS.java:102) [:3.4.1.SP1]
at org.jboss.ws.core.CommonSOAPBinding.bindFaultMessage(CommonSOAPBinding.java:708) [:3.4.1.SP1]
at org.jboss.ws.core.server.ServiceEndpointInvoker.invoke(ServiceEndpointInvoker.java:296) [:3.4.1.SP1]
at org.jboss.wsf.stack.jbws.RequestHandlerImpl.processRequest(RequestHandlerImpl.java:527) [:3.4.1.SP1]
at org.jboss.wsf.stack.jbws.RequestHandlerImpl.handleRequest(RequestHandlerImpl.java:316) [:3.4.1.SP1]
at org.jboss.wsf.stack.jbws.RequestHandlerImpl.doPost(RequestHandlerImpl.java:222) [:3.4.1.SP1]
at org.jboss.wsf.stack.jbws.RequestHandlerImpl.handleHttpRequest(RequestHandlerImpl.java:147) [:3.4.1.SP1]
at org.jboss.wsf.common.servlet.AbstractEndpointServlet.service(AbstractEndpointServlet.java:87) [:1.4.1.GA]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) [:1.0.0.Final]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:324) [:6.1.0.Final]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:242) [:6.1.0.Final]
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275) [:6.1.0.Final]
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161) [:6.1.0.Final]
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:181) [:6.1.0.Final]
at org.jboss.modcluster.catalina.CatalinaContext$RequestListenerValve.event(CatalinaContext.java:285) [:1.1.0.Final]
at org.jboss.modcluster.catalina.CatalinaContext$RequestListenerValve.invoke(CatalinaContext.java:261) [:1.1.0.Final]
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:88) [:6.1.0.Final]
at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:100) [:6.1.0.Final]
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:159) [:6.1.0.Final]
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) [:6.1.0.Final]
at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158) [:6.1.0.Final]
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) [:6.1.0.Final]
at org.jboss.web.tomcat.service.request.ActiveRequestResponseCacheValve.invoke(ActiveRequestResponseCacheValve.java:53) [:6.1.0.Final]
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:362) [:6.1.0.Final]
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877) [:6.1.0.Final]
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:654) [:6.1.0.Final]
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:951) [:6.1.0.Final]
at java.lang.Thread.run(Thread.java:662) [:1.6.0_27]
--------------------------------------------------------------
Reply to this message by going to Community
[https://community.jboss.org/message/721326#721326]
Start a new discussion in JBoss Web Services at Community
[https://community.jboss.org/choose-container!input.jspa?contentType=1&con...]
13 years