2010-04-17 19 views
1

J'ai des services Web et je crée un client Web à l'aide de ws-import.Accès à des services Web identiques à l'aide du même client

Lors de la création du client j'ai cette ligne:

MyServiceService service = new MyServiceService(); 

Il fonctionne très bien comme il est.

J'ai le même service Web fonctionnant sur un autre serveur et je me demandais si je pourrais y accéder en utilisant le même client. Est-il possible de changer l'URL wsdl du client? Ctrl-Space dans Eclipse me donne 2 paramètres que je peux entrer dans MyServiceService: URL arg0 et Qname arg1. Est-ce ce que je cherche? Et si tel est le cas, que dois-je mettre en Qname depuis que je ne trouve pas Javadoc associé et n'a pas trouvé sur Google ni

Merci et salutations, Krt_Malta

Répondre

0

Oui, vous pouvez le faire . Comme vous le suspectiez, vous devez utiliser le constructeur avec this signature qui est généré sur votre classe de service. Comme vous pouvez le voir, il prend deux arguments: un QName, et un Url.

Le QName est un peu difficile à déterminer. Vous devez regarder le code source généré pour le constructeur no-arg de votre classe de service (et l'attribut @Service sur la classe). Si vous faites cela, vous devriez être en mesure de comprendre quel QName le constructeur no-arg utilise. Construisez simplement un QName avec ces mêmes valeurs et utilisez-le.

L'URL est simple: utilisez simplement l'URL wsdl à laquelle vous voulez accéder.

+0

P.S. Si vous ne parvenez toujours pas à déterminer le nom QName à utiliser, publiez le code source du talon de service généré, et je serai en mesure de vous montrer quel QName vous devez utiliser. –

+0

Brillant! Le QName est comme ceci: private final static QName MYSERVICESERVICE_QNAME = nouveau QName ("http: // MyService /", "MyServiceService"); Merci beaucoup! :) –