[jboss-jira] [JBoss JIRA] Created: (JBAS-4084) Webservice Proxy (org.jboss.ws.jaxrpc.CallProxy) is not thread safe

Amine Belkoura (JIRA) jira-events at jboss.com
Thu Feb 8 10:31:30 EST 2007


Webservice Proxy (org.jboss.ws.jaxrpc.CallProxy) is not thread safe
-------------------------------------------------------------------

                 Key: JBAS-4084
                 URL: http://jira.jboss.com/jira/browse/JBAS-4084
             Project: JBoss Application Server
          Issue Type: Bug
      Security Level: Public (Everyone can see)
          Components: Web Services
    Affects Versions: JBossAS-4.0.5.GA
         Environment: Windows
            Reporter: Amine Belkoura
         Assigned To: Thomas Diesler
             Fix For: JBossAS-4.2.0.CR1


We are performing load tests with webservices at the moment and we discovered the following issue: 

If multiple threads use the same CallProxy instance (the proxy is fetched once with a jndi lookup) then the following exception occured:

12:24:19,990 ERROR [WSWork] Error while calling the web service 
java.rmi.RemoteException: Call invocation failed with code [Client] because of: Request struct cannot be null; nested exception is: 

        javax.xml.rpc.soap.SOAPFaultException: Request struct cannot be null 
        at org.jboss.ws.common.CommonClient.invoke(CommonClient.java:331) 
        at org.jboss.ws.jaxrpc.CallImpl.invokeInternal(CallImpl.java:560) 
        at org.jboss.ws.jaxrpc.CallImpl.invoke(CallImpl.java:338) 
        at org.jboss.ws.jaxrpc.CallProxy.invoke(CallProxy.java:148) 
        at $Proxy211.perform(Unknown Source) 
        at com.winterthur.jackpot.j2eeperf.work.WSWork.perform(WSWork.java:50) 
        at com.winterthur.jackpot.j2eeperf.PerfImpl.dispatch(PerfImpl.java:141) 
        at com.winterthur.jackpot.j2eeperf.PerfImpl.execute(PerfImpl.java:102) 
        at com.winterthur.jackpot.j2eeperf.web.PerfServlet.doGetOrPost(PerfServlet.java:122) 
        at com.winterthur.jackpot.j2eeperf.web.PerfServlet.doGet(PerfServlet.java:58) 
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:697) 
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:810) 
        at sun.reflect.GeneratedMethodAccessor844.invoke(Unknown Source) 
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
        at java.lang.reflect.Method.invoke(Method.java:585) 
        at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:243) 
        at java.security.AccessController.doPrivileged(Native Method) 
        at javax.security.auth.Subject.doAsPrivileged(Subject.java:517) 
        at org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:275) 
        at org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:161) 
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:245) 
        at org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:50) 
        at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:156) 
        at java.security.AccessController.doPrivileged(Native Method) 
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:152) 
        at com.winterthur.jackpot.servlet.util.RequestEncodingFilter.doFilter(RequestEncodingFilter.java:47) 
        at sun.reflect.GeneratedMethodAccessor843.invoke(Unknown Source) 
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
        at java.lang.reflect.Method.invoke(Method.java:585) 
        at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:243) 
        at java.security.AccessController.doPrivileged(Native Method) 
        at javax.security.auth.Subject.doAsPrivileged(Subject.java:517) 
        at org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:275) 
        at org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:217) 
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:197) 
        at org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:50) 
        at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:156) 
        at java.security.AccessController.doPrivileged(Native Method) 
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:152) 
        at com.winterthur.jackpot.servlet.util.StrippedSessionIdFilter.doFilter(StrippedSessionIdFilter.java:35) 
        at sun.reflect.GeneratedMethodAccessor842.invoke(Unknown Source) 
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
        at java.lang.reflect.Method.invoke(Method.java:585) 
        at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:243) 
        at java.security.AccessController.doPrivileged(Native Method) 
        at javax.security.auth.Subject.doAsPrivileged(Subject.java:517) 
        at org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:275) 
        at org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:217) 
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:197) 
        at org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:50) 
        at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:156) 
        at java.security.AccessController.doPrivileged(Native Method) 
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:152) 
        at com.winterthur.jackpot.servlet.util.Log4JMDCPropagationFilter.doFilter(Log4JMDCPropagationFilter.java:70) 
        at sun.reflect.GeneratedMethodAccessor841.invoke(Unknown Source) 
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
        at java.lang.reflect.Method.invoke(Method.java:585) 
        at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:243) 
        at java.security.AccessController.doPrivileged(Native Method) 
        at javax.security.auth.Subject.doAsPrivileged(Subject.java:517) 
        at org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:275) 
        at org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:217) 
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:197) 
        at org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:50) 
        at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:156) 
        at java.security.AccessController.doPrivileged(Native Method) 
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:152) 
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) 
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178) 
        at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175) 
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:524) 
        at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74) 
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126) 
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105) 
        at org.jboss.web.tomcat.tc5.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:156) 
        at com.winterthur.jackpot.tomcat.valves.SubjectDelegationCheckValve.invoke(SubjectDelegationCheckValve.java:125)

        at com.winterthur.jackpot.tomcat.valves.ClusterFailureValve.invoke(ClusterFailureValve.java:134) 
        at com.winterthur.jackpot.tomcat.valves.ResetServernameValve.invoke(ResetServernameValve.java:88) 
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107) 
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148) 
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869) 
        at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)

        at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527) 
        at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80) 
        at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684) 
        at java.lang.Thread.run(Thread.java:595) 
Caused by: javax.xml.rpc.soap.SOAPFaultException: Request struct cannot be null 
        at org.jboss.ws.jaxrpc.SOAPFaultExceptionHelper.getSOAPFaultException(SOAPFaultExceptionHelper.java:100) 
        at org.jboss.ws.common.CommonSOAPBinding.unbindResponseMessage(CommonSOAPBinding.java:574) 
        at org.jboss.ws.common.CommonClient.invoke(CommonClient.java:319) 
        ... 85 more 



The soap request was invoked with an incomplete body element (second message). 

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        



More information about the jboss-jira mailing list