3 Replies Latest reply on Apr 15, 2008 2:13 AM by oskar.carlstedt

    Upgrading to 4.2.2 changed published WSDL

    gtwebdev

      We recently upgraded our JBossAS from 4.0.5 to 4.2.2. We have EJBs exposed as Web Services. Since the upgrade, applications that consume the Services no longer work due to changes in the WSDL produced by 4.2.2. Though our EJBs are annotated, the WSLDs are very different. We have tried to annotate at the package level to get the WSDL to match the old services in 4.0.5 but have had no luck.

      Errors we experience are similar to the following:
      12:46:10,048 ERROR [SOAPFaultHelperJAXWS] SOAP request exception javax.ejb.EJBException: java.lang.NullPointerException

      All is good if we Re-consume the service but the is not a viable solutions for all of our clients.

      Has anyone experienced XmlSchema changes when upgrading? Does anyone have a solution for such a problem? Any guidance is appreciated.

        • 1. Re: Upgrading to 4.2.2 changed published WSDL
          asoldano

          Which versions of jbossws are involved? the default ones coming with the AS? Could you provide further details about the exception you're getting?

          • 2. Re: Upgrading to 4.2.2 changed published WSDL
            gtwebdev

            We are using the default jbossws version that comes with AS 4.2.2. The exceptions differ depending on the client consuming the services and the method being called. Most of the exceptions are related to NullPointerExceptions due to the differences in the published WSDLs. Some Web methods may not produce errors, but don't produce results due to the schema changes as well.

            Most of the WSDL changes have to do with differences in Namespaces produced by JBOSS. I've tried included package-info that explicitly defines the XmlSchema to closely match the published WSDL, but so far it seems that the only thing I can do for the client apps that consume the services is to re-create the proxies so they have the new definitions.

            • 3. Re: Upgrading to 4.2.2 changed published WSDL
              oskar.carlstedt

              Hello!

              Sorry to say, but this may be a hard working lesson to never go for the "code first" approach when creating web services which contracts shall be persistent over time and over different application servers. So a tip for future development, write your wsdl and included schemas by hand and then generate code from that (that's what we call "contract first").

              Ok, now the good thing. You can always save your old published wsdl file and generate code from that. It will work for you.


              Kind regards
              /Oskar