4 Replies Latest reply on Jun 27, 2007 11:33 AM by Gavin King

    Web service interface stable in 1.3.0 ALPHA?

    davidintx Newbie

      I realize that http://jira.jboss.com/jira/browse/JBSEAM-505, the web service/jbpm enhancement request, got slipped to 1.3.0 Beta, which must have been a difficult decision to make.

      Since that bug covers both web services and web service integration with JBPM, and since the seambay example already uses web services, I was wondering if the remaining work on that bug is primarily for the JBPM integration, and the webservice portion itself is stable. In other words, if I create a new app with 1.3.0 ALPHA, and use the @WebService and @WebMethod annotations like Seambay does, and then write something to consume those web services, will the web service interface (the wsdl generated from the annotations) change between now and 1.3.0 final? For example, perhaps the plan for 505 is to have the wsdl generated from the annotations by JBossWS be post-processed by seam to add a conversationId parameteter to methods which need it. If not, and the web service interface is stable, then that would be good to know.

        • 1. Re: Web service interface stable in 1.3.0 ALPHA?
          Shane Bryzak Master

          Conversation management and JBPM integration is still being worked on, however web services that don't use this particular feature should be fine to use.

          • 2. Re: Web service interface stable in 1.3.0 ALPHA?
            Gavin King Master

            Yeah, we unfortunately had to slip the conversation management stuff to the next release, but it is now possible to implement a WebService in Seam (finally).

            • 3. Re: Web service interface stable in 1.3.0 ALPHA?
              Arjan van Bentem Novice

              Not trying to criticize the good work that is being done with Seam, but just curious as ever: can anyone comment on the choice to add a conversationId element in the Soap header? This is documented as:

              So how are conversations propagated between web service requests? Seam uses a SOAP header element present in both the SOAP request and response messages to carry the conversation ID from the consumer to the service, and back again.

              The downside is:
              Unfortunately, because web services may be consumed by a variety of web service clients written in a variety of languages, it is up to the developer to implement conversation ID propagation between individual web services that are intended to be used within the scope of a single conversation.

              The Sun JAX-WS reference implementation supports statefull web services by using a different endpoint reference for each client. The good thing about this is that, for example, .NET 3.0 clients seem to support this out of the box as well.

              It seems JBossWS 2.1 supports this through WS-Adressing as well; for example JBoss' Heiko Braun wrote: "WS-Addressing is the right way to build conversational web services".

              Someone's question in the WS forum about future support for StatefulWebServiceManager has not yet been answered: JBossWS JAX-WS question using stateful. I cannot find any reference to this in JIRA either.


              • 4. Re: Web service interface stable in 1.3.0 ALPHA?
                Gavin King Master

                What we really wanted to use for this stuff was WS-Contexts, but JBossWS does not implement it yet. Shane tried to use WS-Addressing but it didn't work out (not sure of the details) and eventually he decided to do it this way after talking to the JBossWS folks.