[JBoss Web Services] - EJB3 JBossWS Authentication in 5.1.0 GA not working
by Judes Tumuhairwe
Judes Tumuhairwe [http://community.jboss.org/people/tumuhairwe] created the discussion
"EJB3 JBossWS Authentication in 5.1.0 GA not working"
To view the discussion, visit: http://community.jboss.org/message/565984#565984
--------------------------------------------------------------
Hi
I've read this [1] and [2] and [3] and a whole bunch of others (including the JBoss In Action book) and they all say the same thing:
1. Configure a data-source (*-ds.xml file)
2. Define a domain (conf/login-config.xml)
3. Tell the app about it:
a. put the <security-domain> in jboss-web.xml and in the
b. META-INF/jboss.xml
c. add a security constraint in web.xml
4. Annotate the EJB/Web-service with the security annotations (@SecurityDomain, @WebContext and @RolesAllowed in addition to @Stateless and @Webservice)
5. build, package & deploy as an ear
6. Add the values to the request-context map of the BindingProvider when calling...and everything should work.
But nothing is working for me i.e. I keep getting a 401 error (Unauthorized). (I've been struggling with this for days now) Question is can anyone see what I'm doing wrong.
Environment: Java version: 1.5.0_22, JBoss 5.1.0 GA, JBoss Web Services - Stack Native Core (3.1.2.GA)
conf/login-config.xml (fragment)
[still gives a HTTP 401 even if I use the default JBossWS]
The datasource (I've verified that this works)
jboss-web.xml (the article [1] says its only for POJO's but it doesn't make a difference if I remove the <security-domain> tag)
<?xml version="1.0" encoding="UTF-8"?>
<jboss-web>
<class-loading java2ClassLoadingCompliance="false">
<loader-repository>
<loader-repository-config>
java2ParentDelegation=false
</loader-repository-config>
</loader-repository>
</class-loading>
<context-root>/verifiq</context-root>
<security-domain flushOnSessionInvalidation="false">verifiq-domain</security-domain>
</jboss-web>
jboss.xml (in the ejb jar's META-INF) Same as above i.e. doesn't make a difference if I uncomment.
<?xml version="1.0" encoding="UTF-8"?>
<jboss>
<security-domain>verifiq-domain</security-domain>
<!--
<webservices>
<context-root>/service</context-root>
</webservices>
<enterprise-beans>
<session>
<ejb-name>ExpulsionStatusBean</ejb-name>
<jndi-name>ExpulsionStatusBean</jndi-name>
<security-domain>verifiq-domain</security-domain>
<port-component>
<port-component-name>ExplusionStatusServicePort</port-component-name>
<port-component-uri>/ExplusionStatusBeanPort</port-component-uri>
<auth-method>BASIC</auth-method>
<transport-guarantee>NONE</transport-guarantee>
<secure-wsdl-access>false</secure-wsdl-access>
</port-component>
-->
<!--
<resource-ref>
<res-ref-name>jdbc/postgresql</res-ref-name>
<jndi-name>java:/VerifiqDS</jndi-name>
</resource-ref>
-->
<!--
<clustered>true</clustered>
<cluster-config>
<partition-name>DefaultPartition</partition-name>
<load-balance-policy>org.jboss.ha.framework.interfaces.RandomRobin</load-balance-policy>
</cluster-config>
-->
<!--
</session>
</enterprise-beans>
-->
</jboss>
ExpulsionStatusBean.java [intentionally skipped the contextRoot in @WebContext because:
1. it puts the context (e.g. /service) outside the app's (/verifiq) i.e. security-constraint definitions in web.xml become useless since we now have localhost:8080/services and localhost:8080/verifiq.
2. It applies that service to all the web-services in that ejb jar (even though I've explicitly asked for a different contextRoot on another web-service)
Either way, even when I access them at a different location /services/serviceName?wsdl the result is the same i.e. HTTP 401]
@Stateless
@WebService
@Local(ExplusionStatusService.class)
@SecurityDomain(value="JBossWS")
@RolesAllowed("friend")
@WebContext(authMethod="BASIC", transportGuarantee="NONE", secureWSDLAccess=false)
public class ExplusionStatusBean implements ExplusionStatusService, Serializable {
@Resource
private SessionContext context;
@WebMethod
public String expell(@WebParam(name="person") Person person) {
String retVal = "Expelling " + person.getSchoolAssignedID();
System.out.println("ExplusionStatusBean.expell(): invoked");
System.out.println("ExplusionStatusBean.expell(): Student: " + person);
System.out.println("ExplusionStatusBean.expell(): caller: " + context.getCallerPrincipal());
System.out.println("ExplusionStatusBean.expell(): returning " + retVal);
return retVal;
}
}
Expeller.java (snipped just main() )
public static void main(String[] args) {
try {
log.info("Constructing...");
ExplusionStatusBeanService esb = new ExplusionStatusBeanService(new URL("http://127.0.0.1:8080/verifiq-verifiq-ejb/ExplusionStatusBean?wsdl"));
ExplusionStatusBean service = esb.getExplusionStatusBeanPort();
log.info("Computing password");
String password = "thefrog";
//password = DigestUtils.md5Hex(password);
//String pass =
log.info("Setting authentication info");
//BindingProvider bp = (BindingProvider)service;
//Map<String, Object> authentication = bp.getRequestContext();
((BindingProvider)service).getRequestContext().put(BindingProvider.USERNAME_PROPERTY, "kermit");
((BindingProvider)service).getRequestContext().put(BindingProvider.PASSWORD_PROPERTY, password);
System.out.println("Using username kermit and password=" + password);
log.info("Invoking...");
Person person = getJudes(); // Person is just a regular JPA pojo (mapped) (with name & schoolId)
String response = service.expell(person);
log.info("Response receieved successfully! " + response);
} catch (Exception ex) {
ex.printStackTrace();
log.log(Level.SEVERE, null, ex);
}
}
server.log
(I'm 100% certain the user kermit->thefrog exists in both the props/jbossws-*.properties file (when I use the default JBossWS) and in the database.)
2010-10-12 01:09:07,797 DEBUG org.jboss.security.auth.spi.DatabaseServerLoginModule org.jboss.security.auth.spi.DatabaseServerLoginModule (http-127.0.0.1-8080-1) Bad password for username=kermit
2010-10-12 01:09:07,797 DEBUG org.jboss.security.auth.spi.DatabaseServerLoginModule org.jboss.security.auth.spi.DatabaseServerLoginModule (http-127.0.0.1-8080-1) Bad password for username=kermit
Like I said, I'm 100% certain the kermit exists & has the role 'friend' (see attached screenshot)
Is there anything I'm missing?
web.xml (supposedly for POJOs only but I've included a snippet anyway. Doesn't matter if I comment or uncomment it out. Same result "Bad password" error)
<security-constraint>
<web-resource-collection>
<web-resource-name>All webservices</web-resource-name>
<description>Protects all webservices</description>
<url-pattern>/service</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>admissions-viewer</role-name>
<role-name>friend</role-name>
</auth-constraint>
</security-constraint>
<security-role>
<role-name>admissions-viewer</role-name>
</security-role>
<security-role>
<role-name>friend</role-name>
</security-role>
<security-role>
<role-name>admissions-manager</role-name>
</security-role>
<login-config>
<auth-method>BASIC</auth-method>
<realm-name>Verifiq Webservices Realm</realm-name>
</login-config>
I've gone over it countless times & I'm just frustrated. It really shouldn't be that hard to get it to work...in theory :-)
Is there anything I'm missing?
TIA,
Judes Tumuhairwe
References:
[1] http://community.jboss.org/docs/DOC-13533 http://community.jboss.org/wiki/JBossWS-Authentication
[2] http://www.coderanch.com/t/477889/JBoss/Securing-Application-JBoss http://www.coderanch.com/t/477889/JBoss/Securing-Application-JBoss
[3] http://thatjavathing.blogspot.com/2009/05/authentication-and-authorizatio... http://thatjavathing.blogspot.com/2009/05/authentication-and-authorizatio...
--------------------------------------------------------------
Reply to this message by going to Community
[http://community.jboss.org/message/565984#565984]
Start a new discussion in JBoss Web Services at Community
[http://community.jboss.org/choose-container!input.jspa?contentType=1&cont...]
15 years, 4 months
[Datasource Configuration] - one data source with multiple Oracle database users
by Nicolas Kaczmarski
Nicolas Kaczmarski [http://community.jboss.org/people/pekka_x] created the discussion
"one data source with multiple Oracle database users"
To view the discussion, visit: http://community.jboss.org/message/568176#568176
--------------------------------------------------------------
Dear All,
I have 2 application using 2 differents datasources :
<?xml version="1.0" encoding="UTF-8"?>
<datasources>
<local-tx-datasource>
<jndi-name>TooWsDataSource</jndi-name>
<connection-url>jdbc:oracle:thin:@172.25.225.40:1521:paid</connection-url>
<driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
<user-name>Too</user-name>
<password>too</password>
<metadata>
<type-mapping>Oracle10g</type-mapping>
</metadata>
</local-tx-datasource>
<!-- New schema for EPT/WS -->
<local-tx-datasource>
<jndi-name>TooWsDataSourcePt</jndi-name>
<connection-url>jdbc:oracle:thin:@172.25.225.40:1521:paid</connection-url>
<driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
<user-name>Too2</user-name>
<password>too</password>
<metadata>
<type-mapping>Oracle10g</type-mapping>
</metadata>
</local-tx-datasource>
</datasources>
But when the second application do an sql request the user used is "Too" instead of "Too2".
Have you ideas?
--------------------------------------------------------------
Reply to this message by going to Community
[http://community.jboss.org/message/568176#568176]
Start a new discussion in Datasource Configuration at Community
[http://community.jboss.org/choose-container!input.jspa?contentType=1&cont...]
15 years, 4 months
[Spring Integration] - Application with ws client return an exception with spring
by Marcos Simón
Marcos Simón [http://community.jboss.org/people/marsim86] created the discussion
"Application with ws client return an exception with spring"
To view the discussion, visit: http://community.jboss.org/message/560700#560700
--------------------------------------------------------------
Hi,
I got an application that runs over JBoss 6 M4, with Spring and JSF that works fine.
But now I got other applicaction (that will run in the same server) that I have to install spring. This application call to webservice and it do well, but when I put spring jar file (just only the file, without change the configurations), the application returns an exception:
javax.faces.el.EvaluationException: java.lang.NoClassDefFoundError: org/springframework/beans/BeansException
at javax.faces.component.MethodBindingMethodExpressionAdapter.i nvoke(MethodBindingMethodExpressionAdapter.java:102)
at com.sun.faces.application.ActionListenerImpl.processAction(A ctionListenerImpl.java:102)
at javax.faces.component.UICommand.broadcast(UICommand.java:315 )
at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot. java:775)
at javax.faces.component.UIViewRoot.processApplication(UIViewRo ot.java:1267)
at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(Invok eApplicationPhase.java:82)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl. java:118)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:31 2)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFi lter(ApplicationFilterChain.java:324)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(App licationFilterChain.java:242)
at org.jboss.resteasy.plugins.server.servlet.FilterDispatcher.d oFilter(FilterDispatcher.java:63)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFi lter(ApplicationFilterChain.java:274)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(App licationFilterChain.java:242)
at org.apache.catalina.core.StandardWrapperValve.invoke(Standar dWrapperValve.java:275)
at org.apache.catalina.core.StandardContextValve.invoke(Standar dContextValve.java:191)
at org.jboss.web.tomcat.security.SecurityAssociationValve.invok e(SecurityAssociationValve.java:181)
at org.jboss.modcluster.catalina.CatalinaContext$RequestListene rValve.event(CatalinaContext.java:285)
at org.jboss.modcluster.catalina.CatalinaContext$RequestListene rValve.invoke(CatalinaContext.java:261)
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccCo ntextValve.java:88)
at org.jboss.web.tomcat.security.SecurityContextEstablishmentVa lve.invoke(SecurityContextEstablishmentValve.java:93)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHo stValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorRepo rtValve.java:102)
at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invok e(CachedConnectionValve.java:158)
at org.apache.catalina.core.StandardEngineValve.invoke(Standard EngineValve.java:109)
at org.jboss.web.tomcat.service.request.ActiveRequestResponseCa cheValve.invoke(ActiveRequestResponseCacheValve.java:53)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAd apter.java:362)
at org.apache.coyote.http11.Http11Processor.process(Http11Proce ssor.java:877)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHand ler.process(Http11Protocol.java:653)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoin t.java:951)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.NoClassDefFoundError: org/springframework/beans/BeansException
at org.jboss.wsf.stack.cxf.client.configuration.JBossWSBusFacto ry.getSpringBusFactory(JBossWSBusFactory.java:121)
at org.jboss.wsf.stack.cxf.client.configuration.JBossWSBusFacto ry.createBus(JBossWSBusFactory.java:54)
at org.apache.cxf.BusFactory.getDefaultBus(BusFactory.java:69)& lt; br /> at org.apache.cxf.BusFactory.getThreadDefaultBus(BusFactory.jav a:106)
at org.apache.cxf.BusFactory.getThreadDefaultBus(BusFactory.jav a:97)
at org.apache.cxf.jaxws.spi.ProviderImpl.createServiceDelegate( ProviderImpl.java:62)
at javax.xml.ws.Service.(Service.java:57)
at diz.relev3.integ.sicof2.IntegSicof2.*(IntegSicof2.jav a:43)*
at com.datinza.web.beans.PacienteBean.conexionGAIA(PacienteBean .java:190)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAcce ssorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMe thodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.el.parser.AstValue.invoke(AstValue.java:196)
at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionIm pl.java:276)
at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMeth odExpression.java:98)
at javax.faces.component.MethodBindingMethodExpressionAdapter.i nvoke(MethodBindingMethodExpressionAdapter.java:88)
... 30 more
Caused by: java.lang.ClassNotFoundException: org.springframework.beans.BeansException from BaseClassLoader@1069693{vfs:///C:/Desarrollo/jboss-6.0.0.201 00721-M4/server/default/conf/jboss-service.xml}
at org.jboss.classloader.spi.base.BaseClassLoader.loadClass(Bas eClassLoader.java:480)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
... 47 more
My code just call IngegSicof2 constructor, and as I said before it works fine if the spring isn't loaded. I´ve configure correctly spring (unless as I think is the correct form) but the exception goes on.
/**
* This class was generated by the JAX-WS RI.
* JAX-WS RI 2.2-12/14/2009 02:16 PM(ramkris)-
* Generated source version: 2.2
*
*/
//@WebServiceClient(name = "integ-sicof2", targetNamespace = "diz.relev3.integ.sicof2", wsdlLocation = "http://localhost:8080/integ_sicof2/servicios?wsdl")
@WebServiceClient(name = "integ-sicof2", targetNamespace = "diz.relev3.integ.sicof2", wsdlLocation = "http://10.1.1.2:8080/integ_sicof2/servicios?wsdl")
public class IntegSicof2
extends Service
{
private final static URL INTEGSICOF2_WSDL_LOCATION;
private final static WebServiceException INTEGSICOF2_EXCEPTION;
private final static QName INTEGSICOF2_QNAME = new QName("diz.relev3.integ.sicof2", "integ-sicof2");
static {
URL url = null;
WebServiceException e = null;
try {
url = new URL("http://10.1.1.2:8080/integ_sicof2/servicios?wsdl");
} catch (MalformedURLException ex) {
e.printStackTrace();
e = new WebServiceException(ex);
}
INTEGSICOF2_WSDL_LOCATION = url;
INTEGSICOF2_EXCEPTION = e;
}
public IntegSicof2() {
super(__getWsdlLocation(), INTEGSICOF2_QNAME);
}
...
}
package diz.relev3.integ.sicof2;
import java.net.MalformedURLException;
import java.net.URL;
import javax.xml.namespace.QName;
import javax.xml.ws.Service;
import javax.xml.ws.WebEndpoint;
import javax.xml.ws.WebServiceClient;
import javax.xml.ws.WebServiceException;
import javax.xml.ws.WebServiceFeature;
/**
* This class was generated by the JAX-WS RI.
* JAX-WS RI 2.2-12/14/2009 02:16 PM(ramkris)-
* Generated source version: 2.2
*
*/
//@WebServiceClient(name = "integ-sicof2", targetNamespace = "diz.relev3.integ.sicof2", wsdlLocation = " http://localhost:8080/integ_sicof2/servicios?wsdl http://localhost:8080/integ_sicof2/servicios?wsdl")
//@WebServiceClient(name = "integ-sicof2", targetNamespace = "diz.relev3.integ.sicof2", wsdlLocation = " http://10.1.1.2:8080/integ_sicof2/servicios?wsdl http://10.1.1.2:8080/integ_sicof2/servicios?wsdl")
public class IntegSicof2
extends Service
{
private final static URL INTEGSICOF2_WSDL_LOCATION;
private final static WebServiceException INTEGSICOF2_EXCEPTION;
private final static QName INTEGSICOF2_QNAME = new QName("diz.relev3.integ.sicof2", "integ-sicof2");
static {
System.out.println("URL url = null;");
URL url = null;
System.out.println(" WebServiceException e = null;");
WebServiceException e = null;
System.out.println("try");
try {
System.out.println("url = new URL(\" http://10.1.1.2:8080/integ_sicof2/servicios?wsdl http://10.1.1.2:8080/integ_sicof2/servicios?wsdl\");");
url = new URL(" http://10.1.1.2:8080/integ_sicof2/servicios?wsdl http://10.1.1.2:8080/integ_sicof2/servicios?wsdl");
System.out.println("Ha hecho la url ok.");
} catch (MalformedURLException ex) {
System.out.println("catch (MalformedURLException ex) {");
e.printStackTrace();
e = new WebServiceException(ex);
}
System.out.println("INTEGSICOF2_WSDL_LOCATION = url;");
INTEGSICOF2_WSDL_LOCATION = url;
System.out.println("INTEGSICOF2_EXCEPTION = e;");
INTEGSICOF2_EXCEPTION = e;
System.out.println("He llegado al final del static");
}
public IntegSicof2() {
super(__getWsdlLocation(), INTEGSICOF2_QNAME);
System.out.println("super(__getWsdlLocation(), INTEGSICOF2_QNAME);");
}
/*
public IntegSicof2(WebServiceFeature... features) {
super(__getWsdlLocation(), INTEGSICOF2_QNAME, features);
}
*/
public IntegSicof2(URL wsdlLocation) {
super(wsdlLocation, INTEGSICOF2_QNAME);
}
/*
public IntegSicof2(URL wsdlLocation, WebServiceFeature... features) {
super(wsdlLocation, INTEGSICOF2_QNAME, features);
}
*/
public IntegSicof2(URL wsdlLocation, QName serviceName) {
super(wsdlLocation, serviceName);
}
/*
public IntegSicof2(URL wsdlLocation, QName serviceName, WebServiceFeature... features) {
super(wsdlLocation, serviceName, features);
}
*/
/**
*
* @return
* returns IntegSicof2SOAP
*/
//@WebEndpoint(name = "integ-sicof2SOAP")
public IntegSicof2SOAP getIntegSicof2SOAP() {
return super.getPort(new QName("diz.relev3.integ.sicof2", "integ-sicof2SOAP"), IntegSicof2SOAP.class);
}
/**
*
* @param features
* A list of {@link javax.xml.ws.WebServiceFeature} to configure on the proxy. Supported features not in the <code>features</code> parameter will have their default values.
* @return
* returns IntegSicof2SOAP
*/
//@WebEndpoint(name = "integ-sicof2SOAP")
public IntegSicof2SOAP getIntegSicof2SOAP(WebServiceFeature... features) {
return super.getPort(new QName("diz.relev3.integ.sicof2", "integ-sicof2SOAP"), IntegSicof2SOAP.class, features);
}
private static URL __getWsdlLocation() {
if (INTEGSICOF2_EXCEPTION!= null) {
throw INTEGSICOF2_EXCEPTION;
}
return INTEGSICOF2_WSDL_LOCATION;
}
}
This class was generated automaticaly by the JAX-WS, and I try to quit annotations and other changes, but nothing.
An other thing that I don`t understand is although I put the call into try/catch block, the exception is not catched, and it goes up until the navigator.
I think the exception isn't launched by webservice call, but if it don't launch the exception, what do it?, when I debug (and the stacktrace says the same) the exception appears when this code line is executed.
I will be very grateful with any help, I think I will go mad.
--------------------------------------------------------------
Reply to this message by going to Community
[http://community.jboss.org/message/560700#560700]
Start a new discussion in Spring Integration at Community
[http://community.jboss.org/choose-container!input.jspa?contentType=1&cont...]
15 years, 4 months
[JBoss Messaging] - recovering from invalid messages, selectively deleting from db
by Tim Coninx
Tim Coninx [http://community.jboss.org/people/timconinxrvp] created the discussion
"recovering from invalid messages, selectively deleting from db"
To view the discussion, visit: http://community.jboss.org/message/567157#567157
--------------------------------------------------------------
We use Jboss 5.0 with an oracle db and a standard jboss-messaging deployment.
Irregularly, a queue is unable to start and (therefore) bind itself in JNDI. This has something to do with (I think) corrupt messages which prevent the queue from starting: the exception we see is
java.sql.SQLException: Invalid column index
The error happens very irregularly (like I said), and we haven't been able to really reproduce it yet. However, it seems to happen when a jboss server is killed dirty while messages are being processed.
Deleting all messages directly in the db (delete from jbm_msg / delete from jbm_msg_ref) resolves the problem, but unfortunately it also removes other queue's messages.
So the question is, either:
- is there a way to sql-delete only the offending queue's messages, or
- is there a more elegant way to recover from corrupt messages (remember, the queue does not even start)
--------------------------------------------------------------
Reply to this message by going to Community
[http://community.jboss.org/message/567157#567157]
Start a new discussion in JBoss Messaging at Community
[http://community.jboss.org/choose-container!input.jspa?contentType=1&cont...]
15 years, 5 months
[JBoss Messaging] - Broken pipe during high message load.
by Jeremy Whiting
Jeremy Whiting [http://community.jboss.org/people/whitingjr] created the discussion
"Broken pipe during high message load."
To view the discussion, visit: http://community.jboss.org/message/563802#563802
--------------------------------------------------------------
Hi,
I am running SPECjms2007 benchmark against JBoss Messaging. The benchmark is detecting an error during the benchmark run. This issue has been reported previously on the forum though the issue should be fixed in the current latest (as of Sept 2010) release.
The client side reports the following problem.
SM_Interaction4DR_17_EHID_2: Uncaught exception.
org.jboss.jms.exception.MessagingTransactionRolledBackException: Failed to invoke
at org.jboss.jms.tx.ResourceManager.commitLocal(ResourceManager.java:225)
at org.jboss.jms.client.container.SessionAspect.handleCommit(SessionAspect.java:582)
at org.jboss.aop.advice.org.jboss.jms.client.container.SessionAspect_z_handleCommit_72769750.invoke(SessionAspect_z_handleCommit_72769750.java)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
at org.jboss.jms.client.container.ClosedInterceptor.invoke(ClosedInterceptor.java:172)
at org.jboss.aop.advice.PerInstanceInterceptor.invoke(PerInstanceInterceptor.java:86)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
at org.jboss.jms.client.delegate.ClientSessionDelegate.commit(ClientSessionDelegate.java)
at org.jboss.jms.client.JBossSession.commit(JBossSession.java:164)
at org.spec.jms.eventhandler.sm.SM_Interaction4DR.oneIteration(SM_Interaction4DR.java:169)
at org.spec.perfharness.WorkerThread.pace(WorkerThread.java:339)
at org.spec.jms.agents.SPECWorkerThread.pace(SPECWorkerThread.java:979)
at org.spec.jms.agents.SPECWorkerThread.run(SPECWorkerThread.java:750)
at org.spec.jms.eventhandler.sm.SM_Interaction4DR.run(SM_Interaction4DR.java:135)
Caused by: org.jboss.jms.exception.MessagingJMSException: Failed to invoke
at org.jboss.jms.client.delegate.DelegateSupport.handleThrowable(DelegateSupport.java:271)
at org.jboss.jms.client.delegate.DelegateSupport.doInvoke(DelegateSupport.java:205)
at org.jboss.jms.client.delegate.DelegateSupport.doInvoke(DelegateSupport.java:160)
at org.jboss.jms.client.delegate.ClientConnectionDelegate.org$jboss$jms$client$delegate$ClientConnectionDelegate$sendTransaction$aop(ClientConnectionDelegate.java:225)
at org.jboss.jms.client.delegate.ClientConnectionDelegate$sendTransaction_N3268650789275322226.invokeTarget(ClientConnectionDelegate$sendTransaction_N3268650789275322226.java)
at org.jboss.aop.joinpoint.MethodInvocati
on.invokeNext(MethodInvocation.java:111)
at org.jboss.jms.client.container.FailoverValveInterceptor.invoke(FailoverValveInterceptor.java:92)
at org.jboss.aop.advice.PerInstanceInterceptor.invoke(PerInstanceInterceptor.java:86)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
at org.jboss.jms.client.container.ClosedInterceptor.invoke(ClosedInterceptor.java:172)
at org.jboss.aop.advice.PerInstanceInterceptor.invoke(PerInstanceInterceptor.java:86)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
at org.jboss.jms.client.delegate.ClientConnectionDelegate.sendTransaction(ClientConnectionDelegate.java)
at org.jboss.jms.tx.ResourceManager.commitLocal(ResourceManager.java:206)
... 13 more
Caused by: java.lang.IllegalStateException: Cannot find object in dispatcher with id za1-h9rkileg-1-eafiileg-hcwsz7-100j3
at org.jboss.jms.wireformat.ConnectionSendTransactionRequest.serverInvoke(ConnectionSendTransactionRequest.java:79)
at org.jboss.jms.server.remoting.JMSServerInvocationHandler.invoke(JMSServerInvocationHandler.java:157)
at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:930)
at org.jboss.remoting.transport.socket.ServerThread.completeInvocation(ServerThread.java:791)
at org.jboss.remoting.transport.socket.ServerThread.processInvocation(ServerThread.java:744)
at org.jboss.remoting.transport.socket.ServerThread.dorun(ServerThread.java:586)
at org.jboss.remoting.transport.socket.ServerThread.run(ServerThread.java:234)
at org.jboss.remoting.MicroRemoteClientInvoker.invoke(MicroRemoteClientInvoker.java:216)
at org.jboss.remoting.Client.invoke(Client.java:2034)
at org.jboss.remoting.Client.invoke(Client.java:877)
at org.jboss.remoting.Client.invoke(Client.java:865)
at org.jboss.jms.client.delegate.DelegateSupport.doInvoke(DelegateSupport.java:189)
... 25 more
SM_Interaction4DR_17_EHID_2: Closing producer JBossMessageProducer->ProducerDelegate[921505790, ID=NO_ID_SET]
SM_Interaction4DR_17_EHID_2: Closing session JBossSession->SessionDelegate[1457428868, ID=0b1-i9rkileg-1-eafiileg-hcwsz7-100j3]
SM_Interaction4DR_17_EHID_2: connection-pool: Removing JMS connection from pool JBossConnection->ConnectionDelegate[474307371, ID=za1-h9rkileg-1-eafiileg-hcwsz7-100j3, SID=0]
SM_Interaction4DR_17_EHID_2: STOP
The server log has many Broken Pipe error messages, here is one example
2010-09-27 12:01:25,746 WARN [org.jboss.remoting.transport.bisocket.BisocketClientInvoker] (Timer-4) Unable to send ping: shutting down PingTimerTask
java.net.SocketException: Broken pipe
at java.net.SocketOutputStream.socketWrite0(Native Method)
at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:109)
at java.net.SocketOutputStream.write(SocketOutputStream.java:132)
at org.jboss.remoting.transport.bisocket.BisocketClientInvoker$PingTimerTask.run(BisocketClientInvoker.java:723)
at java.util.TimerThread.mainLoop(Timer.java:534)
at java.util.TimerThread.run(Timer.java:484)
JBM version:1.4.7.GA
OS:RHEL 5.5
Java:java version "1.6.0_0"
OpenJDK Runtime Environment (IcedTea6 1.6) (rhel-1.13.b16.el5-x86_64)
OpenJDK 64-Bit Server VM (build 14.0-b16, mixed mode)
Database: MySQL 5.1.50 community
Jeremy
--------------------------------------------------------------
Reply to this message by going to Community
[http://community.jboss.org/message/563802#563802]
Start a new discussion in JBoss Messaging at Community
[http://community.jboss.org/choose-container!input.jspa?contentType=1&cont...]
15 years, 5 months