Question

Je suis en train d'obtenir un client Java pour communiquer avec un wsHttpBinding WCF WebService. Mais je suis incapable de le faire. L'appel soit se bloque, ou je reçois « musunderstoodheader expcetions ».

Mon service Web est juste le défaut de Visual Studio généré "service WCF Template Library".

Mon client de service Web est juste un projet IntelliJ en blanc, avec le stub généré en utilisant "Ajouter Web service à la clientèle" (la plate-forme webservice spécifiée est JAX-WS 2.X) correspondant.

Quand je change ma liant à BasicHttpBinding tout fonctionne parfaitement.

Je l'ai essayé de jouer avec la configuration WSHttpBinding, y compris la désactivation de la sécurité, mais je l'ai pas eu de succès.

Suggestions? Pensées ? Est-ce le WSHttpBinding que partiellement pris en charge par JAX-WS 2.0?

Était-ce utile?

La solution

Votre problème est que JAX-WS ne prend pas en charge les mêmes protocoles WS qui sont utilisé dans le wsHttpBinding. Vous devez utiliser WSIT à la place. WSIT est disponible dans le cadre de la bibliothèque Metro, qui est également disponible sur Glassfish .

Je recommande d'utiliser wsHttpBinding ou ws2007HttpBinding lorsque cela est possible, mais vous pouvez toujours faire un service assez sécurisé avec basicHttpBinding sur SSL / Transport Auth.

Autres conseils

J'examiner attentivement votre config de WCF et de supprimer tous les authenitcation, authoraization etc., propriétés. Rappelez-vous, par défaut, WCF exposera votre service en toute sécurité lors de l'utilisation d'un transport / de liaison sécurisée. Par conséquent, à moins que vous configurez votre client Java pour honorer les exigences de sécurité, il sera très probablement ne parviennent pas à authentifier et vous ne verrez pas les deux converse.

Une fois que vous avez les deux parler, travailler progressivement en ajoutant chaque élément de sécurité jusqu'à ce que vous avez votre client Java cofigured correctement.

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