Tout, J'essaie d'écrire un test Junit qui appelle un client de service Web à Axis2.1.5, et je suis confus sur la manière de la configurer pour l'utiliser pour utiliser WS-Adresse.
J'ai généré un talon de client Utilisation de wsdl2java, et j'utilise le référentiel Axis2.xml et modules de la distribution binaire Axis2. P>
Je sais que je dois utiliser la version des membres de l'adressage WS, et je pense < / EM> Je l'ai configuré correctement (en utilisant les options), mais les en-têtes ne semblent pas être générés correctement. (Je dis 'Semble' parce que je ne peux pas comprendre comment travailler le module SoapMonitor travaillant non plus - je souhaiterais aussi que des conseils sur cela aussi!). P> Ma principale confusion, cependant, est autour de quoi exactement Il faut "engager" le module d'adressage. Devrait-il suffire de configurer mon configurationContext avec un fichier Axis2.xml qui a une référence au module d'adressage? Comme ça? : p> avec mes options configurées comme ci-dessus, c'est voir dans le fichier journal que les modules sont chargés à partir d'axis2.xml: p> Mais je ne pense pas que je reçoive des en-têtes d'adresses. L'erreur que je récupère du serveur à ce stade indique: p> en-tête
http://schemas.xmlsoap.org/ws/2004/08/Adressing:action
pour le destinataire ultime est requis mais
pas présent dans le message. P>
blockQuote> Donc, j'ai également vu des documents de référence 'engageant' modules. Lorsque j'essaie d'ajouter cette ligne à mon code et d'ajouter l'adressage-1.5.1.mar à My ClassPath, bien que: p> Je reçois une erreur indiquant: p> Impossible d'engager le module: Adresse
org.apache.axis2.axisfault: Impossible d'engager le module: SOAPMONITOR
à org.apache.axis2.client.serviceclient.Engagemodule (Serviceclient.java:358) P> Aucune autre information ou trace de pile dans les journaux au-delà, cependant, donc je suis confus. P> Des idées sur ce que je fais mal? p> p>
3 Réponses :
Mettez Adressign.mar et Sopamoniter.Mar dans la liberté de projet de projet. ça marche pour moi Trouvez le Mar de l'axis2 Kit P>
Bonjour Deepak, pouvez-vous indiquer à quel système d'exploitation vous avez fait ce correctif? Je suis confronté à ce problème dans Linux OS (environnement de test) et non sous Windows (environnement de développement)
Dans mon projet Maven, je devais déclarer une dépendance supplémentaire sur le Je ne vois pas org.apache.axis2: adressage code>
artefact: CLASSPATH-Module CODE> Artefacts pour SoyaMonitor sur Maven Central , cependant. P> p>
L'adresse SOAPHeader soapHeader = soapEnvelope.getHeader();
soapHeader.declareNamespace("http://www.w3.org/2005/08/addressing", "wsa");
Merci de poser cette question, cela m'a beaucoup aidé. Pour ceux qui pourraient utiliser ce code comme exemple, je voudrais souligner que Elduff a utilisé la version de soumission de l'espace de noms de la WSA. L'espace de noms final est disponible via AdressingConstants.final.wsa_namespace. Cela m'a été pertinent car j'ai essayé de créer un client pour un serveur JAX-WS 2.1 (Metro) à l'aide de l'axe 2 1.5.1. et le client continuait de se plaindre que les en-têtes de la WSA manquaient. Le problème a été causé par l'utilisation de soumission.WSA_Namespace dans le client en tant que serveur utilisé final.WSA_Namespace.