1 Reply Latest reply on Jun 17, 2009 1:17 PM by kyle.bober

    Achieving asynchronous communications

    hbadami

      Hi

      I am trying to implement a java webservice client (jboss 4.2 AS as the application server with JBossWS Native installed) for a webservice written in C#.
      The use case is :

      My java client has a for loop. In every iteration it sends two strings to the .net webservice. The .net webservice extracts that information and processes it. The process typically takes 5-6 mins to complete and currently the client has to wait. I want my client to be asynchronous i.e. once it sends the data to the webservice it should move on and process the next iteration. This way it can send all the requests (associated to the for loop iteration) to the webservice.
      Once the webservice is done with a single request (ie. iteration of the for loop) it returns an integer which is a database id for a row. Now the idle sitting client should receive this number and do some further processing. So the client would process every number the webservice returns (equal to the iterations of the for loop)

      I need to work on deciding which methodology would be suitable. I read an article at http://developers.sun.com/appserver/reference/techart/async_paper.html which makes sense to me. Also I went through http://jbws.dyndns.org/mediawiki/index.php?title=Asynchronous_invocations_sample article but am not sure how applicable is it to the platform interoperability requirement. Please share your experience and thoughts. Thanks

        • 1. Re: Achieving asynchronous communications
          kyle.bober

          Did you have any luck in reaching a conclusion. I am currently using JBoss 4.2.1 to make asynchronous web service calls to a .NET webservice. We used Apache CXF 2.2.2 to generate the client side code and are using the callback handler approach. I can make a successful call to the webserivce and recieve a valid response successfully. But if we recieve a Web Service Fault from the .NET service it fall through the cracks and is not caught by our application code.