Uploaded image for project: 'JBoss Web Services'
  1. JBoss Web Services
  2. JBWS-2681

Concurrency issues where multiple threads create Port using Service Simultaneously

    XMLWordPrintable

    Details

    • Workaround:
      Workaround Exists
    • Workaround Description:
      Hide

      After creating the Service the thread that created the service should obtain a Port before making the service available for other threads, once the first successful port has been obtained further concurrent requests no longer fail.

      Show
      After creating the Service the thread that created the service should obtain a Port before making the service available for other threads, once the first successful port has been obtained further concurrent requests no longer fail.

      Description

      Where multiple threads attempt to create a port or call an endpoint from a newly created Service one of a number of errors is reported.

      java.lang.NullPointerException
      at org.jboss.ws.extensions.xop.jaxws.ReflectiveAttachmentRefScanner.isJDKType(ReflectiveAttachmentRefScanner.java:262)
      at org.jboss.ws.extensions.xop.jaxws.ReflectiveAttachmentRefScanner.scanBean(ReflectiveAttachmentRefScanner.java:78)
      at org.jboss.ws.metadata.umdm.ParameterMetaData.initializeAttachmentParameter(ParameterMetaData.java:500)
      at org.jboss.ws.metadata.umdm.ParameterMetaData.eagerInitialize(ParameterMetaData.java:485)
      at org.jboss.ws.metadata.umdm.OperationMetaData.eagerInitialize(OperationMetaData.java:465)
      at org.jboss.ws.metadata.umdm.EndpointMetaData.eagerInitializeOperations(EndpointMetaData.java:526)
      at org.jboss.ws.metadata.umdm.EndpointMetaData.initializeInternal(EndpointMetaData.java:510)
      at org.jboss.ws.metadata.umdm.EndpointMetaData.eagerInitialize(EndpointMetaData.java:500)
      at org.jboss.ws.metadata.builder.jaxws.JAXWSClientMetaDataBuilder.rebuildEndpointMetaData(JAXWSClientMetaDataBuilder.java:308)
      at org.jboss.ws.core.jaxws.spi.ServiceDelegateImpl.getPortInternal(ServiceDelegateImpl.java:262)
      at org.jboss.ws.core.jaxws.spi.ServiceDelegateImpl.getPort(ServiceDelegateImpl.java:193)
      at javax.xml.ws.Service.getPort(Service.java:116)

      java.util.ConcurrentModificationException
      at java.util.AbstractList$Itr.checkForComodification(AbstractList.java:449)
      at java.util.AbstractList$Itr.next(AbstractList.java:420)
      at org.jboss.ws.metadata.umdm.EndpointMetaData.eagerInitializeOperations(EndpointMetaData.java:524)
      at org.jboss.ws.metadata.umdm.EndpointMetaData.initializeInternal(EndpointMetaData.java:510)
      at org.jboss.ws.metadata.umdm.EndpointMetaData.eagerInitialize(EndpointMetaData.java:500)
      at org.jboss.ws.metadata.builder.jaxws.JAXWSClientMetaDataBuilder.rebuildEndpointMetaData(JAXWSClientMetaDataBuilder.java:308)
      at org.jboss.ws.core.jaxws.spi.ServiceDelegateImpl.getPortInternal(ServiceDelegateImpl.java:262)
      at org.jboss.ws.core.jaxws.spi.ServiceDelegateImpl.getPort(ServiceDelegateImpl.java:193)
      at javax.xml.ws.Service.getPort(Service.java:116)

      java.lang.IllegalStateException: Cannot synchronize to any of these methods:
      at org.jboss.ws.metadata.umdm.OperationMetaData.eagerInitialize(OperationMetaData.java:492)
      at org.jboss.ws.metadata.umdm.EndpointMetaData.eagerInitializeOperations(EndpointMetaData.java:526)
      at org.jboss.ws.metadata.umdm.EndpointMetaData.initializeInternal(EndpointMetaData.java:510)
      at org.jboss.ws.metadata.umdm.EndpointMetaData.eagerInitialize(EndpointMetaData.java:500)
      at org.jboss.ws.metadata.builder.jaxws.JAXWSClientMetaDataBuilder.rebuildEndpointMetaData(JAXWSClientMetaDataBuilder.java:308)
      at org.jboss.ws.core.jaxws.spi.ServiceDelegateImpl.getPortInternal(ServiceDelegateImpl.java:262)
      at org.jboss.ws.core.jaxws.spi.ServiceDelegateImpl.getPort(ServiceDelegateImpl.java:193)
      at javax.xml.ws.Service.getPort(Service.java:116)

      java.lang.IllegalStateException: Cannot synchronize to any of these methods:
      public abstract org.jboss.support.ws.phonebook.TelephoneNumber org.jboss.support.ws.phonebook.PhoneBook.lookup(org.jboss.support.ws.phonebook.Person)

      OperationMetaData:
      qname=

      {http://www.jboss.org/support/phonebook}

      lookup
      javaName=lookup
      style=document/literal/WRAPPED
      oneWay=false
      soapAction=
      at org.jboss.ws.metadata.umdm.OperationMetaData.eagerInitialize(OperationMetaData.java:492)
      at org.jboss.ws.metadata.umdm.EndpointMetaData.eagerInitializeOperations(EndpointMetaData.java:526)
      at org.jboss.ws.metadata.umdm.EndpointMetaData.initializeInternal(EndpointMetaData.java:510)
      at org.jboss.ws.metadata.umdm.EndpointMetaData.eagerInitialize(EndpointMetaData.java:500)
      at org.jboss.ws.metadata.builder.jaxws.JAXWSClientMetaDataBuilder.rebuildEndpointMetaData(JAXWSClientMetaDataBuilder.java:308)
      at org.jboss.ws.core.jaxws.spi.ServiceDelegateImpl.getPortInternal(ServiceDelegateImpl.java:262)
      at org.jboss.ws.core.jaxws.spi.ServiceDelegateImpl.getPort(ServiceDelegateImpl.java:193)
      at javax.xml.ws.Service.getPort(Service.java:116)

      javax.xml.ws.WebServiceException: java.lang.IllegalStateException: Cannot find property: javax.xml.ws.handler.message.outbound
      at org.jboss.ws.core.jaxws.client.ClientImpl.handleRemoteException(ClientImpl.java:307)
      at org.jboss.ws.core.jaxws.client.ClientImpl.invoke(ClientImpl.java:245)
      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 $Proxy15.lookup(Unknown Source)
      at org.jboss.support.ws.phonebook.ThreadedCallingClient$Caller.run(ThreadedCallingClient.java:51)
      at java.lang.Thread.run(Thread.java:595)
      Caused by: java.lang.IllegalStateException: Cannot find property: javax.xml.ws.handler.message.outbound
      at org.jboss.ws.core.jaxws.handler.MessageContextJAXWS.processPivot(MessageContextJAXWS.java:110)
      at org.jboss.ws.core.jaxws.client.ClientImpl.processPivot(ClientImpl.java:266)
      at org.jboss.ws.core.CommonClient.processPivotInternal(CommonClient.java:467)
      at org.jboss.ws.core.CommonClient.invoke(CommonClient.java:395)
      at org.jboss.ws.core.jaxws.client.ClientImpl.invoke(ClientImpl.java:233)

      javax.xml.ws.soap.SOAPFaultException: Request struct cannot be null
      at org.jboss.ws.core.jaxws.SOAPFaultHelperJAXWS.getSOAPFaultException(SOAPFaultHelperJAXWS.java:75)
      at org.jboss.ws.core.jaxws.binding.SOAP11BindingJAXWS.throwFaultException(SOAP11BindingJAXWS.java:109)
      at org.jboss.ws.core.CommonSOAPBinding.unbindResponseMessage(CommonSOAPBinding.java:553)
      at org.jboss.ws.core.CommonClient.invoke(CommonClient.java:371)
      at org.jboss.ws.core.jaxws.client.ClientImpl.invoke(ClientImpl.java:233)
      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 $Proxy15.lookup(Unknown Source)

      javax.xml.ws.soap.SOAPFaultException: java.lang.NullPointerException
      at org.jboss.ws.core.jaxws.SOAPFaultHelperJAXWS.getSOAPFaultException(SOAPFaultHelperJAXWS.java:75)
      at org.jboss.ws.core.jaxws.binding.SOAP11BindingJAXWS.throwFaultException(SOAP11BindingJAXWS.java:109)
      at org.jboss.ws.core.CommonSOAPBinding.unbindResponseMessage(CommonSOAPBinding.java:553)
      at org.jboss.ws.core.CommonClient.invoke(CommonClient.java:371)
      at org.jboss.ws.core.jaxws.client.ClientImpl.invoke(ClientImpl.java:233)
      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 $Proxy15.lookup(Unknown Source)

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  dlofthouse Darran Lofthouse
                  Reporter:
                  dlofthouse Darran Lofthouse
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  1 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: