CXF Comment définir SoapVersion sur CXF port sans Ressort
Je suis actuellement en train de travailler sur un client de Service Web à l'aide de CXF sans Ressort des fichiers de configuration.
Il fonctionne très bien mais je ne peux pas comprendre comment définir la liaison SoapVersion à l'aide de l'Api Java.
L'aide d'un Ressort de fichier c'est fait comme suit:
<jaxws:binding>
<soap:soapBinding version="1.2"/>
</jaxws:binding>
Avez-vous les gars savent comment faire cela dans le code Java (sur le Port, sur la SOAPBinding...)?
Merci d'avance pour votre aide!
MODIFIER----------------------
Je suis toujours bloqué avec ce problème...
J'ai essayé d'ajouter le SOAPBinding annotation sur l'interface comme le suggère l'une de la réponse ci-dessous, mais cela n'a pas fonctionné...
Je suis toujours à la recherche d'un moyen de configurer manuellement mon PortType /Liaison /Bus pour l'utilisation de Soap 1.2...
Des idées?
MODIFIER----------------------
Problème résolu! En fait j'ai répondu à ma propre question: voir ci-dessous...
Merci!
OriginalL'auteur reef | 2010-11-22
Vous devez vous connecter pour publier un commentaire.
Ok je réponds de nouveau à ma propre question de partager la solution.
Avec l'aide des gars de la CXF liste de diffusion, j'ai trouvé une solution qui fonctionne pour moi.
Effectivement, il existe 2 façons de résoudre le problème.
Voici l'explication:
Le problème venait de la façon dont j'ai été la construction de ma CXF Service.
La première solution consiste à spécifier l'emplacement WSDL à la création de Services de temps:
Cela a résolu le problème mais je ne voulais pas avoir de lien vers le fichier WSDL, voici donc la deuxième solution qui se débarrasse de ce lien:
Dans mon projet, nous avons décidé de choisir la deuxième solution.
Espérons que cette aide!
Object implementor = new DiscoveryLookupPortImpl(); Endpoint.publish("udp://239.255.255.250:3702", implementor);
oùpublic class DiscoveryLookupPortImpl implements DiscoveryLookupPort
OriginalL'auteur reef
Plus simple est probablement de simplement coller une annotation sur l'interface de:
Que faites-vous de la description de l'interface?
Les boursiers C'est le résultat d'une wsdl2java l'exécution d'un outil. En gros, c'est un de mes dépendances du projet.
C'est le genre de chose qu'il est vraiment utile de mettre en question. Est-il possible de faire le WSDL vous êtes à la conversion de dire qu'il veut SOAP 1.2? (Je n'ai pas bricolé avec la part de SAVON à un moment, alors j'oublie les détails.) Si il y a, certes, c'est où l'info faut effectivement aller? Après tout, si c'est ce que le service exige alors que c'est ce qu'il devrait demander...
Les boursiers en Fait j'ai compris le problème en configurant le serveur vous demande SOAP 1.2 messages. Aide sur le client Soap 1.2 Porttype, ça fonctionne très bien.
OriginalL'auteur Daniel Kulp
si vous utilisez cxf client , vous pouvez utiliser de la manière suivante. Il peut aussi lier plus d'un wsdl.
OriginalL'auteur theMind
Comme suggéré par Donal les Boursiers je réponds à ma propre question 😉
En fait la question est liée à la version Soap le serveur peut gérer.
Du côté client, je n'ai pas besoin de préciser que je veux utiliser Soap 1.2, il semble qu'il est suffisant d'avoir le PortType dans le fichier WSDL configuré pour Soap 1.2.
Mais du côté serveur, j'ai besoin d'indiquer explicitement à qui du Savon, la version que je veux.
Du côté serveur, j'utilise toujours le "Printemps de la mode" pour CXF configuration donc je viens d'ajouter le texte suivant dans le fichier de configuration XML:
C'est tout!
Merci pour votre temps et de votre aide!
MODIFIER --------------------------------
En fait, cette solution ne fonctionne pas, maintenant que nous avons de communiquer avec un serveur, nous ne gérons pas.... Nous sommes toujours coincés avec notre problème ici....
OriginalL'auteur reef
Ancien fil. Je pensais que je poste une solution qui a fonctionné pour moi.
Dans le cxf-beans.xml fichier, j'ai changé le
endpointName="tns:MR_ServerSoap12"
deendpointName="tns:MR_ServerSoap"
. Notez que le nom du point de terminaison aura son propre nom dans votre wsdl. Utiliser ce nom.OriginalL'auteur Jim Smith