3 Replies Latest reply on Sep 4, 2006 10:29 AM by taciano

    J2EE tutorial web services client throws

    taciano

      Hi

      I'm using JBoss 4.0.4.GA, with the "all" installation option. I'm going through the "Getting Started with JBoss 4.0" guide (release 5).

      When I reach the topic "Running the Web Service Client" (item 5.3 of the doc) and run the command "ant -f jboss-build.xml run-ws" a "java.lang.UnsupportedOperationException: setProperty must be overridden in subclasses of SOAPMessage" exception is thrown.

      The full stack trace is as follows:

      C:\temp\j2eetutorial14\examples\bank>ant -f jboss-build.xml run-ws
      Buildfile: jboss-build.xml

      run-ws:
      [java] log4j:WARN No appenders could be found for logger (org.jboss.ws.meta
      data.JSR109ClientMetaDataBuilder).
      [java] log4j:WARN Please initialize the log4j system properly.
      [java] Customer: 200
      [java] Exception in thread "main" java.rmi.RemoteException: Call invocation
      failed: setProperty must be overridden by all subclasses of SOAPMessage; nested
      exception is:
      [java] java.lang.UnsupportedOperationException: setProperty must be ove
      rridden by all subclasses of SOAPMessage
      [java] at org.jboss.ws.jaxrpc.CallImpl.invokeInternal(CallImpl.java:719
      )
      [java] at org.jboss.ws.jaxrpc.CallImpl.invoke(CallImpl.java:398)
      [java] at org.jboss.ws.jaxrpc.CallProxy.invoke(CallProxy.java:164)
      [java] at $Proxy0.getAccountsOfCustomer(Unknown Source)
      [java] at com.jboss.ebank.WSClient.main(WSClient.java:40)
      [java] Caused by: java.lang.UnsupportedOperationException: setProperty must
      be overridden by all subclasses of SOAPMessage
      [java] at javax.xml.soap.SOAPMessage.setProperty(SOAPMessage.java:424)
      [java] at org.jboss.ws.soap.SOAPMessageImpl.(SOAPMessageImpl.java
      :77)
      [java] at org.jboss.ws.soap.MessageFactoryImpl.createMessage(MessageFac
      toryImpl.java:133)
      [java] at org.jboss.ws.binding.soap.SOAP11BindingProvider.createMessage
      (SOAP11BindingProvider.java:52)
      [java] at org.jboss.ws.binding.soap.SOAPBindingProvider.bindRequestMess
      age(SOAPBindingProvider.java:108)
      [java] at org.jboss.ws.binding.soap.SOAP11BindingProvider.bindRequestMe
      ssage(SOAP11BindingProvider.java:58)
      [java] at org.jboss.ws.jaxrpc.CallImpl.invokeInternal(CallImpl.java:647
      )
      [java] ... 4 more
      [java] Java Result: 1

      BUILD SUCCESSFUL
      Total time: 19 seconds

      Everything was running smoothly up to this point. I found a bug reported on JIRA about this (http://jira.jboss.com/jira/browse/JBWS-1126?page=all), but apparently it was considered a CLASSPATH problem. Well, if there is actually a CLASSPATH problem, I'd like to know what must be done to the default JBoss configuration to make it work.

      Thanks in advance,

      Taciano Perez
      Solution Architect
      Hewlett-Packard

        • 1. Re: J2EE tutorial web services client throws
          taciano

          Hi

          The problem was fixed. I was using the JDK 1.6.0 beta. When I switched back to JDK 1.5.0 everything worked fine.

          Just to let the community know this can happen.

          Taciano Perez
          Solution Architect
          Hewlett-Packard

          • 2. Re: J2EE tutorial web services client throws
            thomas.diesler

            Make sure you use the SAAJ imlementation that comes with jboss-saaj.jar

            • 3. Re: J2EE tutorial web services client throws
              taciano

              Thomas

              I ran the WS tutorial exactly as described by the "Getting Started" guide. All classpath entries are as defined by the scripts, I didn't change anything. The JDK, JBoss and the tutorial were installed using the standard procedure. My machine has no customization of the classpath.

              My conclusion is that either the tutorial is not meant to be run using JDK 6.0 beta or the classpath must be customized for it to work. If one of these are true, a think it would be worthy to include it on the tutorial text.

              Regards,