[JBoss Web Services] New message: "Error while calling the client within the same JVM."
by midosh madhavan
User development,
A new message was posted in the thread "Error while calling the client within the same JVM.":
http://community.jboss.org/message/522042#522042
Author : midosh madhavan
Profile : http://community.jboss.org/people/midosh
Message:
--------------------------------------------------------------
I am using jboss-4.2.2-GA and jdk1.5.0_05.
I am starting the jboss server instance using the -b option
nohup ./run.sh -b 0.0.0.0 &
I have two webservices (say WS1 and WS2) deployed and running in the same Jboss JVM.
I am able to call the WS2's webmethod from WS1 for once. for subsequent calls am getting the following error.
( there may be inconsistency in the method signature displayed in the log.. i have changed class names and method signatures.. the code compiles perfectly.pls ignore those syntactic errors..)
20:35:01,190 INFO [WS1Impl] ****ENTERING WEBSERVICE METHOD: execute ****
20:35:01,190 INFO [WS2Proxy] http://localhost:8080/Services/WS2?wsdl-WS2Impl-http://services.ws.com/-
20:35:14,600 INFO [WS1Impl] ****LEAVING WEBSERVICE METHOD: execute ****
20:35:32,027 INFO [WS1Impl] ****ENTERING WEBSERVICE METHOD: execute ****
20:35:32,027 INFO [WS2Proxy] http://localhost:8080/Services/WS2?wsdl-WS2Impl-http://services.ws.com/-
20:35:33,288 ERROR [RequestHandlerImpl] Cannot close output stream
20:35:34,252 ERROR [SOAPMessageUnMarshaller] Cannot unmarshall SOAPMessage
javax.xml.soap.SOAPException: Unsupported content type: text/html
at org.jboss.ws.core.soap.MessageFactoryImpl.createMessage(MessageFactoryImpl.java:248)
at org.jboss.ws.core.soap.SOAPMessageUnMarshaller.read(SOAPMessageUnMarshaller.java:84)
at org.jboss.remoting.transport.http.HTTPClientInvoker.readResponse(HTTPClientInvoker.java:473)
at org.jboss.remoting.transport.http.HTTPClientInvoker.useHttpURLConnection(HTTPClientInvoker.java:305)
at org.jboss.remoting.transport.http.HTTPClientInvoker.transport(HTTPClientInvoker.java:135)
at org.jboss.remoting.MicroRemoteClientInvoker.invoke(MicroRemoteClientInvoker.java:122)
at org.jboss.remoting.Client.invoke(Client.java:1634)
at org.jboss.remoting.Client.invoke(Client.java:548)
at org.jboss.ws.core.client.RemotingConnectionImpl.invoke(RemotingConnectionImpl.java:183)
at org.jboss.ws.core.client.SOAPRemotingConnection.invoke(SOAPRemotingConnection.java:77)
at org.jboss.ws.core.CommonClient.invoke(CommonClient.java:337)
at org.jboss.ws.core.jaxws.client.ClientImpl.invoke(ClientImpl.java:243)
at org.jboss.ws.core.jaxws.client.ClientProxy.invoke(ClientProxy.java:164)
at org.jboss.ws.core.jaxws.client.ClientProxy.invoke(ClientProxy.java:150)
at $Proxy177.uploadFile(Unknown Source)
at com.ws.WS2Proxy.execute(WS2Proxy.java:97)
at com.ws.services.WS1Impl.execute(WS1Impl.java:94)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.jboss.wsf.container.jboss42.DefaultInvocationHandler.invoke(DefaultInvocationHandler.java:102)
at org.jboss.ws.core.server.ServiceEndpointInvoker.invoke(ServiceEndpointInvoker.java:220)
at org.jboss.wsf.stack.jbws.RequestHandlerImpl.processRequest(RequestHandlerImpl.java:408)
at org.jboss.wsf.stack.jbws.RequestHandlerImpl.handleRequest(RequestHandlerImpl.java:272)
at org.jboss.wsf.stack.jbws.RequestHandlerImpl.doPost(RequestHandlerImpl.java:189)
at org.jboss.wsf.stack.jbws.RequestHandlerImpl.handleHttpRequest(RequestHandlerImpl.java:122)
at org.jboss.wsf.stack.jbws.EndpointServlet.service(EndpointServlet.java:84)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
at java.lang.Thread.run(Thread.java:595)
20:35:34,254 ERROR [WS2Proxy] java.io.IOException: Could not transmit message
20:35:34,258 ERROR [SOAPFaultHelperJAXWS] SOAP request exception
javax.xml.soap.SOAPException: Error Executing method
at com.ws.services.WS1Impl.execute(WS1Impl.java:96)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.jboss.wsf.container.jboss42.DefaultInvocationHandler.invoke(DefaultInvocationHandler.java:102)
at org.jboss.ws.core.server.ServiceEndpointInvoker.invoke(ServiceEndpointInvoker.java:220)
at org.jboss.wsf.stack.jbws.RequestHandlerImpl.processRequest(RequestHandlerImpl.java:408)
at org.jboss.wsf.stack.jbws.RequestHandlerImpl.handleRequest(RequestHandlerImpl.java:272)
at org.jboss.wsf.stack.jbws.RequestHandlerImpl.doPost(RequestHandlerImpl.java:189)
at org.jboss.wsf.stack.jbws.RequestHandlerImpl.handleHttpRequest(RequestHandlerImpl.java:122)
at org.jboss.wsf.stack.jbws.EndpointServlet.service(EndpointServlet.java:84)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
at java.lang.Thread.run(Thread.java:595)
Could you please look into this.
Thanks,
Midosh.
--------------------------------------------------------------
To reply to this message visit the message page: http://community.jboss.org/message/522042#522042
16 years, 3 months
[JBoss Microcontainer Development] New message: "Re: Pluggable dependency resolver"
by Kabir Khan
User development,
A new message was posted in the thread "Pluggable dependency resolver":
http://community.jboss.org/message/522036#522036
Author : Kabir Khan
Profile : http://community.jboss.org/people/kabir.khan@jboss.com
Message:
--------------------------------------------------------------
I've further extracted how the on demand dependencies are handled in the legacy and new model, which brings the total errors in KernelAllTestSuite down to 10. These are in:
* ScopingAliasTestCase
* ScopingAliasAPITestCase
* ScopingOverrideTestCase
* ScopingDependencyTestCase
By the way, if anybody wants to try this out, you switch the dependency resolvers in https://svn.jboss.org/repos/jbossas/projects/kernel/branches/resolver/dep.... Currently it looks like this:
public class DependencyResolverAbstractFactory
{
private static final DependencyResolverAbstractFactory INSTANCE = new DependencyResolverAbstractFactory();
private static final DependencyResolverFactory factory;
static
{
//TODO configure with system properties
// String name = "org.jboss.dependency.plugins.resolver.standard.StandardDependencyResolverFactory"; //1
// String name = "org.jboss.dependency.plugins.resolver.indexing.IndexingDependencyResolverFactory"; //2
String name = "org.jboss.kernel.plugins.resolver.indexing.IndexingKernelDependencyResolverFactory"; //3
* 1 is the legacy resolver and all tests pass with that
* 2 is the new resolver used for the dependency project
* 3 is the new resolver used for the kernel project
--------------------------------------------------------------
To reply to this message visit the message page: http://community.jboss.org/message/522036#522036
16 years, 3 months
[jBPM] New message: "Re: jbpm 4.3 - org.hibernate.exception.ConstraintViolationException: Could not execute JDBC batch update"
by Zengping Tian
User development,
A new message was posted in the thread "jbpm 4.3 - org.hibernate.exception.ConstraintViolationException: Could not execute JDBC batch update":
http://community.jboss.org/message/522012#522012
Author : Zengping Tian
Profile : http://community.jboss.org/people/zptian
Message:
--------------------------------------------------------------
While we strip down the logic to remove the subprocess. It seems running fine with multiple job executors(haven't seen issue so far).
When we check the sql statements to create database tables for db2, it doesn't define the unique constrain of ID_ on the JBPM4_EXECUTION table. But that field is unique in the sql statements for HSQL and MySQL at least. the Unique constrain is defined in the mapping file. Think that's why we see different issues in db2.
We also did some analysis on the deadlock issue we experienced on db2.
Have identified the statements to lock tables and release them. Have captured the stack trace and the java classes(the beauty of open sources ) below.
*Deadlock in Hibernate*
>From our observation , in Hibernate a group of tables are inserted/updated in one Transaction and all tables involved(not the whole database as we thought on Friday night, thought we just happened to check the tables were involved in the lock) are LOCKED before the commit on the jdbc connection was called.
In details once the statement.executeUpdate() is called on a query, the table involves in the query is locked until the commit statement is called. So just before the commit statement all tables involved are actually locked. At that moment if another thread involves in any operation(eg. read or update) on any of the tables, it will cause a DEADLOCK in the default isolation level(think it’s repeatable read in DB2Dialect)
In our case it involves multiple tables to create an jbpm instance, they are:
Jbpm4_execution
Jbpm4_hist_procinst
Jbpm4_job
Jbpm4_variable
Jbpm4_lob
From Hibernate’s perspective, I think that might be expected behaviour as a group of tables may have some relations, eg. 1-m, m-m relations, so it’s nature to deal with them in one transaction. If not lock them together( I have tested by change the DB2Dialect to update with NC) it will have some wired behaviours – later on jbpm cannot find some rows of data it expects them to be there.
Behaviour of JBPM
On the jbpm side, we know:
1) If an instance key isn’t unique, it will definitely cause problem. We observe this situation while we have subprocess (all subprocesses are created as an instance which has no key. Given the limitation in the subprocess key field that we cannot use expression, this is an issue). The Custom activity is trying to create subprocess as well so have this similar issue
2) A standard jbpm process without subprocess seems running fine with multiple job executors(??? We just observe this from our test with the strip down process definition ). That means the tables involving in executing one activity( not include subprocess activity of course ) are properly isolated in the jbpm level.
If both 1) and 2) are true, think we have no problem to use it in our environment. We just need to take the inconvenience of exception handling in the DF CARMI call, and be creative to control the 1-m relations between an instance and its sub-tasks….
*A stack trace to identify the statement which lock the tables:* http://community.jboss.org/servlet/JiveServlet/showImage/1857/jbpm_db2_lo...
*A stack trace to identify the unlock statement:* http://community.jboss.org/servlet/JiveServlet/showImage/1858/jbpm_db2_un...
--------------------------------------------------------------
To reply to this message visit the message page: http://community.jboss.org/message/522012#522012
16 years, 3 months