Announcement Announcement Module
Collapse
No announcement yet.
JiBX unmarshalling - DOM error Page Title Module
Move Remove Collapse
X
Conversation Detail Module
Collapse
  • Filter
  • Time
  • Show
Clear All
new posts

  • #16
    axiom vs saaj

    One more question about an ealier response to this thread:
    "There a two concrete implementations: SaajSoapMessage, which is based on a DOM tree, and AxiomSoapMessage, which is based on a StAX XMLStreamReader. ..."

    So - on the server-side, in order for Spring WS to use Axiom one would have to set the system property for the SOAP factory to the AxiomSoapFactory, correct? And, once this system property is set Spring WS will use the StAX based streamer only - and therefore, you must use the SOAPActionEndpointMapping dispatcher/mapper so it looks at the SOAPAction header. The PayloadRootQNameEndpointMapping dispatcher/mapper will no longer work on "that" deployment since it relies on the DOM tree (and the system won't be using SAAJ)?

    Is this a correct statement?

    Ron

    Comment


    • #17
      Originally posted by rwilcom
      So - on the server-side, in order for Spring WS to use Axiom one would have to set the system property for the SOAP factory to the AxiomSoapFactory, correct?
      No, you just have to change the SaajSoapMessageContextFactory in the application context to the AxiomSoapMessageContextFactory. That should be enough.

      Originally posted by rwilcom
      And, once this system property is set Spring WS will use the StAX based streamer only - and therefore, you must use the SOAPActionEndpointMapping dispatcher/mapper so it looks at the SOAPAction header. The PayloadRootQNameEndpointMapping dispatcher/mapper will no longer work on "that" deployment since it relies on the DOM tree (and the system won't be using SAAJ)?
      No, the PayloadRootQNameEndpointMapping will work just fine, and so will the SoapActionEndpointMapping. It's just that the SoapActionEndpointMapping doesn't look in the contents of the message to dispatch it. That's why it's faster.
      [/QUOTE]

      Cheers,

      Comment


      • #18
        Originally posted by decrypt
        I replaced WebLogic's XML related jars (Xerces, Xalan, xml-apis) and now i can return a SAXSource or a StreamSource just fine now.
        Good news. Perhaps I should place a big warning on how to upgrade the XML libraries in the reference documentation. Seems to affect a lot of people.

        Thanks!

        Comment


        • #19
          The issue that was the original topic of this thread should now be fixed in subversion. You can get the sources from

          https://svn.sourceforge.net/svnroot/...unk/spring-ws/.

          I will upload a snapshot that will contain this functionality tomorrow.

          Comment


          • #20
            Arjen,
            Thanks for the fix! Was this an extensive update or a couple of blocks of code? Just curious, which classes and what areas were updated.

            thanks again!
            Ron

            Comment


            • #21
              Originally posted by rwilcom
              Arjen,
              Thanks for the fix! Was this an extensive update or a couple of blocks of code? Just curious, which classes and what areas were updated.

              thanks again!
              Ron
              You're welcome! It was quite extensive, and it involved moving some ws-core code to a separate xml module, so that oxm could also use it. Then I wrote some more tests, and worked from there. I'm still not sure if I like the solution I have right now, but at least you have something to work with. The stuff I might change will be internal only, and shouldn't affect the public interface.

              Cheers,

              Comment


              • #22
                How long until an M2 build is available (that will contain these updates)?

                thanks.
                Ron

                Comment


                • #23
                  I will create a snapshot today, which will not be M2 but contains the stuff you need.

                  Comment


                  • #24
                    Great! Where will I be able to download this - will it be under 'files' in sourceforge?

                    thanks,
                    Ron

                    Comment


                    • #25
                      snapshot?

                      I am still wondering where I can get the snapshot of the Spring WS package that includes the JiBX (axiom soap factory) corrections? Any help or direction would be appreciated.

                      thanks!
                      Ron

                      Comment


                      • #26
                        Look here.

                        Comment


                        • #27
                          M2 Snapshot dependencies

                          I have an M2 snapshot (the one with the JiBX fixes) - I am trying to move forward with using the JiBX marshalling implementation so I set it up to use the AxiomSoapMessageContextFactory. Now I am getting dependencies errors - my first was for JiBX itself (so I loaded the latest JiBX jars and got passed those)... now I am getting Axiom dependency failures. Says that the AxioumSoapMessageContextFactory cannot be initialized because it depends on class 'org.apache.axiom.om.OMException' - so, now I am downloading Axiom 1.0 ... but my question is when does this dependency landslide end?

                          What other dependencies am I going to run into here - trial and error is no fun.

                          thanks.
                          Ron

                          Comment


                          • #28
                            SWS is a pretty flexible framework, which is hard to describe in maven2 dependencies. For instance, it does not require JiBX nor Axiom to work, that's why I set these dependencies as optional in the POM. The alternative would be to set them as required, but then everybody will download axiom, Jibx, castor, xlmbeans, etc. etc. Not a solution, IMO.

                            I think that they are going to implement something similar to Ivy configurations in maven 2.1, which should be useful. Then, I could just define an axiom or jibx configuration, and all deps would resolve automatically.

                            But to answer your question: the basic deps you need are (off the top of my head):
                            • stax-api
                            • a stax implementation (Woodstox is fast: wstx-asl)
                            • axiom-api
                            • axiom-impl
                            • jibx-run
                            • jibx-bind & bcel (only at compile time)

                            Cheers,

                            Comment

                            Working...
                            X