Question

Ceci est la suite de la question ici: JBoss - ne l'application doivent être compilés sous même que jdk JBOSS fonctionne sous

Il est assez différent si qu'il fallait une nouvelle question.

Je suis en train d'utiliser JDK6 pour exécuter JBOSS 5.1, et je l'ai téléchargé la version JDK6 de JBOSS 5.1. Cela fonctionne très bien et mon application EAR déploie bien. Cependant, quand je veux exécuter un client de service Web avec le code comme ceci:

public static void main(String[] args) throws Exception {
    System.out.println("creating the web service client...");
    TestClient client = new TestClient("http://localhost:8080/tc_test_project-tc_test_project/TestBean?wsdl");
    Test service = client.getTestPort();
    System.out.println("calling service.retrieveAll() using the service client");
    List<TestEntity> list = service.retrieveAll();
    System.out.println("the number of elements in list retrieved using the client is " + list.size());
}

Je reçois l'exception suivante:

javax.xml.ws.WebServiceException: java.lang.UnsupportedOperationException: setProperty must be overridden by all subclasses of SOAPMessage
    at org.jboss.ws.core.jaxws.client.ClientImpl.handleRemoteException(ClientImpl.java:396)
    at org.jboss.ws.core.jaxws.client.ClientImpl.invoke(ClientImpl.java:302)
    at org.jboss.ws.core.jaxws.client.ClientProxy.invoke(ClientProxy.java:170)
    at org.jboss.ws.core.jaxws.client.ClientProxy.invoke(ClientProxy.java:150)

voici la partie vraiment intéressante . Si je change le JDK que mon code ci-dessus est en cours d'exécution sous l'exception va au loin de JDK6 à JDK5,! Il est vraiment étrange.

La seule façon que je trouve le code ci-dessus pour exécuter sous JDK6 était de prendre le JBOSS_HOME / lib / dossier approuvé et le copier JDK6_HOME / lib. Cela semble que cela ne devrait pas être nécessaire, mais il est.

Y at-il une autre façon de faire ce travail autre que d'utiliser la solution de contournement que je viens de décrire?

Était-ce utile?

La solution

On dirait à peu près comme si vous exécutiez en présence de JAX-WS comme une caractéristique officielle de JDK 1.6. Ne copiez pas les choses à « lib », les copier dans un répertoire « approuvé » (celle qui figure dans java.endorsed.dirs). Cette pourrait être utile.

Si vous avez un vous pouvez contourner ce la même manière que Apache CXF fait. Consultez la documentation des informations sur la façon d'utiliser CXF dans un environnement 1.6.

Autres conseils

Il existe différentes suggestions et explications dans le bug rapport et ailleurs (par exemple, et ici ). Je ne sais pas comment ils travaillent.

Informations sur ce problème, vous pouvez trouver dans l'installation officielle JBoss et Mise en route Guide: http://docs.jboss.org/jbossas/docs/Installation_And_Getting_Started_Guide /5/html/Installation_Alternatives.html

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top