J'ai installé la version 0.9rc de Juddi sur Glassfish. Je peux accéder à l'interface graphique, mais la moindre requete provoque l'erreur suivante :
2011-04-12 16:15:55,141 [httpSSLWorkerThread-8080-1] ERROR org.apache.juddi.registry.AbstractService - com.sun.xml.messaging.saaj.soap.impl.TextImpl cannot be cast to org.w3c.dom.Element
java.lang.ClassCastException: com.sun.xml.messaging.saaj.soap.impl.TextImpl cannot be cast to org.w3c.dom.Element
[...]
SAAJ0306: Namespace Error, Standard Faultcode Server, should be in SOAP 1.1 Namespace
2011-04-12 16:15:55,143 [httpSSLWorkerThread-8080-1] ERROR org.apache.juddi.registry.AbstractService - A serious error has occured while assembling the SOAP Fault.
com.sun.xml.messaging.saaj.SOAPExceptionImpl: Namespace Error, Standard Faultcode: Server, should be in SOAP 1.1 Namespace
[...]
En utilisant le projet Java "Samples" de JUDDI, j'ai pu découvrir que cette erreur est déclenché si on utilise la propriété suivante :
TransportClassName=org.uddi4j.transport.ApacheSOAPTransport
Je voudrais donc basculer vers celle-ci :
TransportClassName=org.uddi4j.transport.ApacheAxisTransport
Dans la documentation de UDDI4J, on trouve ceci :
If missing, it defaults to “org.uddi4j.transport.ApacheSOAPTransport”. The property will be read at startup time, and any change at run time (after the TransportFactory has been invoked) will not have any effect. Also see (*) note below on adding a new SOAP transport. Selecting a SOAP transport
ApacheSOAPTransport est donc choisie par défaut. Y a-t-il un moyen de changer la classe de Transport dans Juddi 0.9rc ?