SetProperty must be overridden by all subclasses of SOAPMessage

Descripción del Problema

Al hacer una llamada a un web service sobre un proyecto J2EE recibimos el siguiente error:

java.lang.UnsupportedOperationException: setProperty must be overridden
 by all subclasses of SOAPMessage

Esto en particular apareció la primera vez al utilizar el Trailblazer (ejemplo) de JBoss ESB sobre JBoss 4.2.2.

El método donde encontramos el problema es:

public static void request(WebCustomer customer) { 
    try {
         InitialContext iniCtx = new InitialContext(); 
         Service service = Service.create(
         new URL("http://localhost:8080/trailblazer/LoanBroker?wsdlhttp://localhost:8080/trailblazer/LoanBroker?wsdl"),
         new QName("http://localhost/trailblazerhttp://localhost/trailblazer","LoanBrokerService") );
         LoanBrokerInterface port = (LoanBrokerInterface)service.
getPort(LoanBrokerInterface.class );
	  port.RequestLoan(customer);

} catch (Exception e) { e.printStackTrace(); } }

}

La excepción se produce en

   port.RequestLoan(customer)

Causas

El problema se origina al usar JBoss con JDK 6. Sabemos que, al menos, el problema se sucita con JBoss 4.2.2 o inferior debido a un cambio en las librerías de manejo de web services (en particular, saaj.jar).

Solución

Usar JDK 5.