2010-05-04 3 views
1

J'ai un service Web WCF utilisant wsHttpBinding que je consomme à partir d'un client Java. J'ai généré du code à partir du WSDL en utilisant wsimport. Le client java semble bien créer le service, mais lorsque j'appelle une méthode sur le service, le client ne fait que tourner.Comment importer un service Web WCF à l'aide d'un client Java

MyService s = new MyService(); 
IMyService i = s.getWSHttpBindingIMyService(); 
returnedValue = i.getSomething(2); // method call 

un client java peut communiquer avec un WebService WCF qui utilise wsHttpBinding? Et quelle est la meilleure façon de le faire?
Toute aide sera appréciée.

Répondre

5

Vous voudrez certainement utiliser WSIT pour aider à écrire votre client, et il est probablement plus facile d'utiliser l'ensemble de la pile Metro. Metro contient jaxws-ri, WSIT & JAB dans ses fichiers jar (webservices-rt.jar & webservices-api.jar).

A quelques pas pour vous lancer:

  1. Est-ce que le WSDL publié du service WCF contiennent une section WS-Policy? Sinon, obtenez cette information & placez-le dans votre copie locale locale du fichier WSDL du service. Réexécutez wsimport sur le WSDL contenant la section WS-Policy.

  2. Incluez les jarres Metro sur le chemin de classe de votre client.

  3. Ecrivez un fichier nommé wsit-client.xml & placez-le dans WEB-INF/classes (ou sur votre chemin de classe). Voici un sample. Maintenant, lorsque vous utilisez le client, vous devriez voir un message INFO dans votre console qui dit: WSP5018: Configuration WSIT chargée à partir du fichier:

  4. Si vous êtes bloqué sur WS-Policy ou wsit-client.xml, utilisez Netbeans . J'utilise Eclipse pour le développement, et bien que je n'aime pas vraiment Netbeans, je l'ai utilisé comme référence un certain nombre de fois, car il contient des paramètres de configuration dans l'EDI qui vous permettront de sécuriser les services Web. & écrire un service web client qui a besoin de sécurité, et il générera wsit-client.xml & WSDL avec des informations WS-Policy en eux pour vous. Essayez d'écrire une application Web dans NetBeans & pointant vers le WSDL du service pour générer un client de service Web là & voir à quoi ressemblent les fichiers résultants.

  5. Vous pouvez obtenir des réponses à certaines questions ici sur SO, mais java.net Metro forum est également très actif, et vous pouvez obtenir un bon support là aussi. Juste être préparé pour des réponses comme "faire XYZ dans Netbeans/Glassfish".

Questions connexes