[JBoss Web Services] - Module Dependency for supporting external Handler
by Paul Robinson
Paul Robinson [http://community.jboss.org/people/paul.robinson] created the discussion
"Module Dependency for supporting external Handler"
To view the discussion, visit: http://community.jboss.org/message/629328#629328
--------------------------------------------------------------
Hello,
I'm trying to configure module dependencies for a JAX-WS Web service. The complication seems to come from the fact that the service uses a Handler that lives inside a dependency rather than the same deployment archive as the Web service. The problem is appearing in the TXBridge and XTS demos in the JBossTS project. I would ask someone on the Transactions team to fix this, but unfortunately that is me ;-)
In more detail this is what we have:
The application (txbridge-demo-service.jar) that I am deploying depends on org.jboss.xts, which is where the handler that is specified in the handler chain lives. The Web service only uses JAX-WS annotations (rather than CXF) so I have the following dependencies specified in the manifest.mf of the txbridge-demo-service.jar:
{code}
Dependencies: javax.xml.ws.api, org.jboss.xts, org.jboss.ws.cxf.jbossws-cxf-client services export
{code}
The module "org.jboss.xts" has the following module.xml, which includes dependencies to JBossWS:
{code:xml}
<module xmlns="urn:jboss:module:1.0" name="org.jboss.xts">
<resources>
<resource-root path="jbossxts-4.15.3.Final.jar"/>
<resource-root path="jbossxts-api-4.15.3.Final.jar"/>
<resource-root path="jbosstxbridge-4.15.3.Final.jar"/>
<!-- Insert resources here -->
</resources>
<dependencies>
<module name="javax.transaction.api"/>
<module name="javax.resource.api" />
<module name="system"/>
<module name="org.jboss.jts"/>
<module name="org.jboss.ws.api" services="export"/>
<module name="org.jboss.ws.jaxws-client" services="export"/>
<module name="org.jboss.ws.cxf.jbossws-cxf-client" services="export"/>
<module name="org.jboss.logging"/>
<module name="javax.xml.soap.api"/>
<module name="javax.xml.ws.api"/>
<module name="javax.xml.stream.api"/>
<!-- this is needed to get javax.xml.namespace.QName but it would be better if it were exposed on its own -->
<module name="javax.api"/>
<!-- this is needed because our endpoints are not in a normal deployment and we need to be able
to resolve the javax.jws.WebService annotation attached to them. presumably an endpoint
found in a deployment gets this package auto-added to its module loader
-->
<module name="javax.jws.api"/>
<!-- this is needed to ensure @Resource annotations on the JaxWS endpoint classes are in the
classloader scope-->
<module name="javax.annotation.api"/>
<!-- this is needed to ensure the JaxWS endpoint classes canb refer to HttpServletRequest etc -->
<module name="javax.servlet.api"/>
</dependencies>
</module>
{code}
When I deploy my application I get the following stack trace:
{code}
10:14:55,883 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-8) MSC00001: Failed to start service jboss.deployment.unit."txbridge-demo-service.jar".INSTALL: org.jboss.msc.service.StartException in service jboss.deployment.unit."txbridge-demo-service.jar".INSTALL: Failed to process phase INSTALL of deployment "txbridge-demo-service.jar"
at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:121) [jboss-as-server-7.1.0.Alpha2-SNAPSHOT.jar:7.1.0.Alpha2-SNAPSHOT]
at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1824) [jboss-msc-1.0.1.GA.jar:1.0.1.GA]
at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1759) [jboss-msc-1.0.1.GA.jar:1.0.1.GA]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) [:1.6.0_22]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) [:1.6.0_22]
at java.lang.Thread.run(Thread.java:679) [:1.6.0_22]
Caused by: javax.xml.ws.WebServiceException: javax.xml.ws.WebServiceException: Failed to instantiate handler
at org.apache.cxf.jaxws.EndpointImpl.doPublish(EndpointImpl.java:350)
at org.jboss.wsf.stack.cxf.deployment.EndpointImpl.doPublish(EndpointImpl.java:88)
at org.apache.cxf.jaxws.EndpointImpl.publish(EndpointImpl.java:239)
at org.apache.cxf.jaxws.EndpointImpl.publish(EndpointImpl.java:509)
at org.jboss.wsf.stack.cxf.configuration.NonSpringBusHolder.configure(NonSpringBusHolder.java:116)
at org.jboss.wsf.stack.cxf.deployment.aspect.BusDeploymentAspect.startDeploymentBus(BusDeploymentAspect.java:109)
at org.jboss.wsf.stack.cxf.deployment.aspect.BusDeploymentAspect.start(BusDeploymentAspect.java:132)
at org.jboss.as.webservices.deployers.AspectDeploymentProcessor.internalDeploy(AspectDeploymentProcessor.java:79)
at org.jboss.as.webservices.deployers.TCCLDeploymentProcessor.deploy(TCCLDeploymentProcessor.java:42)
at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:115) [jboss-as-server-7.1.0.Alpha2-SNAPSHOT.jar:7.1.0.Alpha2-SNAPSHOT]
... 5 more
Caused by: javax.xml.ws.WebServiceException: Failed to instantiate handler
at org.apache.cxf.jaxws.handler.HandlerChainBuilder.buildHandlerChain(HandlerChainBuilder.java:131)
at org.apache.cxf.jaxws.handler.AnnotationHandlerChainBuilder.processHandlerElement(AnnotationHandlerChainBuilder.java:267)
at org.apache.cxf.jaxws.handler.AnnotationHandlerChainBuilder.processHandlerChainElement(AnnotationHandlerChainBuilder.java:167)
at org.apache.cxf.jaxws.handler.AnnotationHandlerChainBuilder.buildHandlerChainFromClass(AnnotationHandlerChainBuilder.java:120)
at org.apache.cxf.jaxws.handler.AnnotationHandlerChainBuilder.buildHandlerChainFromClass(AnnotationHandlerChainBuilder.java:284)
at org.apache.cxf.jaxws.JaxWsServerFactoryBean.buildHandlerChain(JaxWsServerFactoryBean.java:237)
at org.apache.cxf.jaxws.JaxWsServerFactoryBean.initializeResourcesAndHandlerChain(JaxWsServerFactoryBean.java:216)
at org.apache.cxf.jaxws.JaxWsServerFactoryBean.create(JaxWsServerFactoryBean.java:203)
at org.apache.cxf.jaxws.EndpointImpl.getServer(EndpointImpl.java:433)
at org.apache.cxf.jaxws.EndpointImpl.doPublish(EndpointImpl.java:322)
... 14 more
Caused by: java.lang.ClassCastException: class org.jboss.jbossts.txbridge.inbound.JaxWSTxInboundBridgeHandler
at java.lang.Class.asSubclass(Class.java:3039) [:1.6.0_22]
at org.apache.cxf.jaxws.handler.HandlerChainBuilder.buildHandlerChain(HandlerChainBuilder.java:121)
... 23 more
{code}
The ClassCastException refers to org.jboss.jbossts.txbridge.inbound.JaxWSTxInboundBridgeHandler which is the handler that lives in the org.jboss.xts module. I think the problem is that when JBossWS creates the endpoint it does not have JaxWSTxInboundBridgeHandler in it's Classloader as JBossWS does not depend on org.jboss.xts (which of course it shouldn't as org.jboss.xts depends on JBossWS). However, the application does depend on org.jboss.xts, which I don't think is of any help to JBossWS.
Is my reasoning about what is wrong correct and can anyone suggest how I can fix this?
Many thanks,
Paul Robinson.
--------------------------------------------------------------
Reply to this message by going to Community
[http://community.jboss.org/message/629328#629328]
Start a new discussion in JBoss Web Services at Community
[http://community.jboss.org/choose-container!input.jspa?contentType=1&cont...]
14 years, 6 months
[Beginner's Corner] - JBOSS 6: Exploded War - path not found
by oakleyx
oakleyx [http://community.jboss.org/people/oakleyx] created the discussion
"JBOSS 6: Exploded War - path not found"
To view the discussion, visit: http://community.jboss.org/message/626344#626344
--------------------------------------------------------------
Hello,
Here is my situation: I'm using JBoss 6 and when I try and deploy my war, the war explodes and is stored in the Virtual File System. I have code thay when the application starts up, it tries to read an xml file in the the WEB-INF directory. I'm getting the following runtime exception:
ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/].[ActionServlet]] Servlet.service() for servlet ActionServlet threw exception:
####
java.lang.RuntimeException C:\jboss-6.0.0\server\default\deploy\test.war\WEB-INF\classes\security.xml (The system cannot find the path specified)
Now if I just explode the war manually and drop the contents in the deploy directory, the application works perfectly.
So I think what i need to do, is some how figure out how to access the file in the VFS.
Currently this is the code that i'm calling to return the path:
ClassLoader loader = Thread.+currentThread+().getContextClassLoader();
URL url = loader.getResource(*this*.filename);
..
..
String path = url.getPath();
repos = *new* File(path);
..
Any Ideas on how I can find out how to get the virtual path?
Could it be a configuration issue?
Thanks
-Dan
--------------------------------------------------------------
Reply to this message by going to Community
[http://community.jboss.org/message/626344#626344]
Start a new discussion in Beginner's Corner at Community
[http://community.jboss.org/choose-container!input.jspa?contentType=1&cont...]
14 years, 6 months
[jBPM] - Business Rules using Fluent API - JBPM 5
by Jhonatas Vicente de Jesus
Jhonatas Vicente de Jesus [http://community.jboss.org/people/jovijesc] created the discussion
"Business Rules using Fluent API - JBPM 5"
To view the discussion, visit: http://community.jboss.org/message/628668#628668
--------------------------------------------------------------
Business Rules using Fluent API - JBPM 5
Hello people.
I wonder how to create business rules or rules of navigation using the Fluent API.
I found this code below:
Split split = new Split ();
split.setName ("split");
split.setMetaData ("x", 1);
split.setMetaData ("y", 2);
split.setMetaData ("width", 3);
split.setMetaData ("height", 4);
split.setType (Split.TYPE_XOR);
Connection connection = new ConnectionImpl (split, Node.CONNECTION_DEFAULT_TYPE, actionNode, Node.CONNECTION_DEFAULT_TYPE);
ConstraintImpl Constraint constraint = new ();
constraint.setName ("constraint1 ><&&");
constraint.setPriority (1);
constraint.setDialect ("dialect1");
constraint.setType ("type1");
constraint.setConstraint ("constraint-text1");
split.setConstraint (connection, constraint);
connection = new ConnectionImpl (split, Node.CONNECTION_DEFAULT_TYPE, ruleSetNode, Node.CONNECTION_DEFAULT_TYPE);
ConstraintImpl constraint = new ();
constraint.setName ("constraint2");
constraint.setPriority (2);
constraint.setDialect ("dialect2");
constraint.setType ("type2");
constraint.setConstraint ("constraint-text2");
split.setConstraint (connection, constraint);
process.addNode (split);
new ConnectionImpl (startNode, Node.CONNECTION_DEFAULT_TYPE, split, Node.CONNECTION_DEFAULT_TYPE);
How could I set an expression? If age> 18 go to XXXX activity, if it goes to another activity.!
I can not find how to set the terms of navigation.
Sorry for English, I used google translate!
--------------------------------------------------------------
Reply to this message by going to Community
[http://community.jboss.org/message/628668#628668]
Start a new discussion in jBPM at Community
[http://community.jboss.org/choose-container!input.jspa?contentType=1&cont...]
14 years, 6 months
[JBoss Web Services] - Re: Weblogic equivalent library in JBOSS for generating wsdl2service and clientgen
by Anoopkumar SR
Anoopkumar SR [http://community.jboss.org/people/anoopsk] created the discussion
"Re: Weblogic equivalent library in JBOSS for generating wsdl2service and clientgen"
To view the discussion, visit: http://community.jboss.org/message/629270#629270
--------------------------------------------------------------
Hi,
wsprovide is a ant task that generates portable JAX-WS artifacts for a service endpoint implementation and wsconsume is a command line tool and ant task that "consumes" the abstract contract (WSDL file) and produces portable JAX-WS service and client artifacts.
But we have ejb's as service endpoint in the form of ejb jars as below from weblogic build.xml. How can we go about in converting this in jboss, so that services/wsdl's can be generated ? Your help is much appreciated.
<target
name="servicegen" depends="ejbjar" description="Generate webservices">
<mkdir dir="${jar.dir}/${ear.dir}"/>
<!-- Our exploded ear dir -->
<mkdir dir="${jar.dir}/${war.dir}"/>
<!-- Our exploded war dir -->
<mkdir dir="${jar.dir}/${client.dir}"/>
<!-- Our exploded war dir -->
<tempfile prefix="exploded_ear" property="temp.ear.dir" destdir="${env.ANT_TMP}"/>
<tempfile prefix="exploded_war" property="temp.war.dir" destdir="${env.ANT_TMP}"/>
<mkdir dir="${temp.ear.dir}"/>
<mkdir dir="${temp.war.dir}"/>
<taskdef
name="servicegen" classname="weblogic.ant.taskdefs.webservices.servicegen.ServiceGenTask" classpathref="wl.servicegen.path"
/>
<servicegen destEar="${temp.ear.dir}" overwrite="true" contextURI="temp">
<classpath>
<path refid="wl.ejbc.path"/>
<path refid="wl.servicegen.path"/>
<path refid="share.compile.path"/>
</classpath>
<service
ejbJar="${jar.dir}/ejb/a.jar"
targetNamespace=http://${deploy.host}:${port}/temp (http://community.jboss.org/${deploy.host}:${port}/temp)
serviceName="a"
serviceURI="/a"
generateTypes="True"
expandMethods="True"
/>
</servicegen>
</target>
Thanks,
--------------------------------------------------------------
Reply to this message by going to Community
[http://community.jboss.org/message/629270#629270]
Start a new discussion in JBoss Web Services at Community
[http://community.jboss.org/choose-container!input.jspa?contentType=1&cont...]
14 years, 6 months
[jBPM] - Unable to deploy a bpmn process to jboss server.
by Jaiyachandhiran Thangaraju
Jaiyachandhiran Thangaraju [http://community.jboss.org/people/jaiyachandhiran] created the discussion
"Unable to deploy a bpmn process to jboss server."
To view the discussion, visit: http://community.jboss.org/message/625475#625475
--------------------------------------------------------------
Hi all,
I followed the steps specified in install.html file present inside the jbpm-installer folder. I ran +ant install.demo+ and installed all the
components.And i ran +ant start.demo+ to start.
The Sample Evalution process works fine for me. I logged in jbpm-console and saw the evalution process and start the new instance from
there. It all works fine.
Now My Problem is I just tried with one sample BPMN process and tried to deploy to jboss server. I am unable to do it.
Please help me out with creating a new BPMN process and deploying it in bpmn console.
Another thing i tried is I changed the evaluation process and then i went to jbpm console, now that itself gives error.
Please help me out. Is there any configuration files needed to be changed? Reply me back
--------------------------------------------------------------
Reply to this message by going to Community
[http://community.jboss.org/message/625475#625475]
Start a new discussion in jBPM at Community
[http://community.jboss.org/choose-container!input.jspa?contentType=1&cont...]
14 years, 6 months
Re: [jboss-user] [EJB3] - EJB3.1 in JBoss AS 6.0.0.M4
by Lars Bohl
Lars Bohl [http://community.jboss.org/people/bohl] commented on the document
"EJB3.1 in JBoss AS 6.0.0.M4"
To view all comments on this document, visit: http://community.jboss.org/docs/DOC-15643#comment-7743
--------------------------------------------------
on jboss 6.1.0.Final, the schedule method gets called too often
this is my code:
@Stateless
public class Starter {
@Schedule(minute = "*/1", hour = "*", persistent = false)
public void updateLists() {
System.out.println("schedule");
}
}
This is the server output:
10:53:00,007 INFO [STDOUT] schedule
10:53:00,014 INFO [STDOUT] schedule
10:53:00,021 INFO [STDOUT] schedule
10:53:00,021 INFO [STDOUT] schedule
10:53:00,022 INFO [STDOUT] schedule
10:53:00,024 INFO [STDOUT] schedule
10:53:00,025 INFO [STDOUT] schedule
10:53:00,027 INFO [STDOUT] schedule
10:53:00,028 INFO [STDOUT] schedule
10:53:00,028 INFO [STDOUT] schedule
10:53:00,029 INFO [STDOUT] schedule
10:53:00,035 INFO [STDOUT] schedule
10:53:01,007 INFO [STDOUT] schedule
10:53:01,007 INFO [STDOUT] schedule
10:53:01,013 INFO [STDOUT] schedule
10:53:01,014 INFO [STDOUT] schedule
10:53:01,014 INFO [STDOUT] schedule
and so on
--------------------------------------------------
14 years, 6 months