CXF
  1. CXF
  2. CXF-2253

Implement the SOAP/JMS specification for CXF

    Details

    • Type: Task Task
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 2.3
    • Fix Version/s: 2.3
    • Component/s: Transports
    • Labels:
      None

      Description

      Apache CXF is an open source services framework. CXF helps you build and develop services using frontend programming APIs, like JAX-WS. These services can speak a variety of protocols such as SOAP, XML/HTTP, Restful HTTP, or CORBA and work over a variety of transports such as HTTP, JMS or JBI.

      SOAP over JMS offers an alternative messaging mechanism to SOAP over HTTP. SOAP over JMS offers more reliable and scalable messaging support than SOAP over HTTP.

      SOAP over JMS specification([WWW] http://www.w3.org/TR/soapjms/) is aimed at a set of standards for the transport of SOAP messages over JMS (Java Message Service). The main purpose is to ensure interoperability between the implementations of different Web services vendors.

      CXF does support SOAP over JMS, but it does not meet the current draft specification defined at [WWW] http://www.w3.org/TR/soapjms/ and instead uses some proprietary formats, headers, url formats, etc. This project would update the SOAP/JMS support in CXF to be completely specification compliant.

      Upon sucessful completion of the SOAP/JMS project, CXF will become one of the very first Open Source implementations of the SOAP/JMS specificiation.

      My work state: http://wiki.apache.org/general/soapjms4cxf
      GitHub Source Code: http://github.com/liucong/jms4cxf2/tree/master

        Activity

        Hide
        Daniel Kulp added a comment -


        All subtasks resolved and such. Closing this. Anything remaining is a "bug" and should have separate jira's open

        Show
        Daniel Kulp added a comment - All subtasks resolved and such. Closing this. Anything remaining is a "bug" and should have separate jira's open
        Hide
        Willem Jiang added a comment -

        Applied the patch with thanks to LiuCong.
        I did some change on my workspace, here are the comments of the patch.
        1) added the missing cxf-extension-jms files and update jms-transport module pom.xml.
        2) Set the transportID on the nowsdl jms endpoint of the JMS systest.
        3) Fixed a PMD error of JMSDestinationTest.
        4) Removed unused constants in the JMSSpecConstants.java

        I also added some TODO comments on the JMSDestinationTest (from properties testing) and OldConfigHold (need to check the address information for extension parameter support).

        We need to revisit these TODO when we get time to refactor the code.

        Show
        Willem Jiang added a comment - Applied the patch with thanks to LiuCong. I did some change on my workspace, here are the comments of the patch. 1) added the missing cxf-extension-jms files and update jms-transport module pom.xml. 2) Set the transportID on the nowsdl jms endpoint of the JMS systest. 3) Fixed a PMD error of JMSDestinationTest. 4) Removed unused constants in the JMSSpecConstants.java I also added some TODO comments on the JMSDestinationTest (from properties testing) and OldConfigHold (need to check the address information for extension parameter support). We need to revisit these TODO when we get time to refactor the code.
        Hide
        Liu Cong added a comment - - edited

        According to the advice by willem. I have modified the patch which I submitted before. And this is the new patch. https://issues.apache.org/jira/secure/attachment/12411743/jms-patch.txt

        Show
        Liu Cong added a comment - - edited According to the advice by willem. I have modified the patch which I submitted before. And this is the new patch. https://issues.apache.org/jira/secure/attachment/12411743/jms-patch.txt
        Hide
        Willem Jiang added a comment -

        @LiuCong,
        Thanks for your contribution.

        Please keep in mind when you change the code of current JMS transport.
        Since we have lots of user are using JMSTransport, Don't break the back compatibility of the jms transport.

        I saw you did some work on the SOAP/JMS property, can you update the status on the JIRA?

        Just some comments for your patch.
        1) Please don't change the code formate .
        I found you just cut long some lines code without change any other thing.
        It will bury your valuable changes and wast the reviewer time.

        2) I didn't find any unit test codes of checking the SOAP/JMS fault, can you add them?

        3) Please remove the useless constants and The fault type in your JMS transport module.

        3) Please use the Messages.properties file to store the Message Constants that you want to use in the exception.

        4) Can you add a system test for using the JMS URI Address directly without specify the WSDL?

        Show
        Willem Jiang added a comment - @LiuCong, Thanks for your contribution. Please keep in mind when you change the code of current JMS transport. Since we have lots of user are using JMSTransport, Don't break the back compatibility of the jms transport . I saw you did some work on the SOAP/JMS property, can you update the status on the JIRA? Just some comments for your patch. 1) Please don't change the code formate . I found you just cut long some lines code without change any other thing. It will bury your valuable changes and wast the reviewer time. 2) I didn't find any unit test codes of checking the SOAP/JMS fault, can you add them? 3) Please remove the useless constants and The fault type in your JMS transport module. 3) Please use the Messages.properties file to store the Message Constants that you want to use in the exception. 4) Can you add a system test for using the JMS URI Address directly without specify the WSDL?
        Hide
        Willem Jiang added a comment -

        @LiuCong,
        Can you submit the patch with the sub task? It'll be more clear to know which take the patch belongs to.

        Show
        Willem Jiang added a comment - @LiuCong, Can you submit the patch with the sub task? It'll be more clear to know which take the patch belongs to.
        Hide
        Liu Cong added a comment - - edited

        I create a module for SOAP/JMS specification.
        https://issues.apache.org/jira/secure/attachment/12411333/jms-spec-patch.txt This is a patch for my SOAP/JMS work.

        Show
        Liu Cong added a comment - - edited I create a module for SOAP/JMS specification. https://issues.apache.org/jira/secure/attachment/12411333/jms-spec-patch.txt This is a patch for my SOAP/JMS work.

          People

          • Assignee:
            Willem Jiang
            Reporter:
            Liu Cong
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development