2009-05-22 11 views
1

En utilisant les paramètres par défaut, l'axe 2 outil de wsdl2java prend en entrée un fichier WSDL et génère un code Java côté client qui communique avec le point de terminaison SOAP utilisant le protocole HTTP, comme dans l'exemple ci-dessous:Est-il possible d'utiliser Axis 2 wsdl2java pour générer du code côté client utilisant HTTPS?

wsdl2java -uri MyService.wsdl 

Quoi Je voudrais savoir s'il y a un paramètre d'entrée qui peut être passé à l'outil wsdl2java pour générer du code côté client qui communique via HTTPS avec le point de terminaison SOAP.

Répondre

1

Nous utilisons Axis assez régulièrement sur HTTPS. Comme Ted l'a mentionné, obtenir les certificats SSL dans l'ordre (surtout si vous êtes auto-signé) est très important, car il s'agit en fait d'un deal breaker. Du point de vue du code, nous générons généralement nos talons Axis par rapport à un service HTTP normal. L'appel à la sous-classe ServiceLocator générée par la commande wsdl2java aura une méthode "getMyService" qui prend une URL en tant que paramètre en plus de celui qui ne prend aucun paramètre. Selon la version exacte de l'Axe et le nom de votre service, les noms de classes peuvent être légèrement différents. Mais pour l'essentiel, l'exemple suivant montre à quel point il est facile de changer l'URL (HTTPS ou HTTP) pour pointer où bon vous semble lors de l'instanciation de vos objets stub.

MyServiceServiceLocator locator = new MyServiceServiceLocator(); 
MyService_PortType myservice = locator.getMyService(new URL("https://www.myservice.net/MyService.jws")); 

Espérons que ça aide.

1

Le message suivant a votre réponse, je ne plagierai pas et ne le copierai pas. Vous pouvez extraire ces arguments du fichier xml fourni. Vous devez vous soucier de Java ayant les certificats dont il a besoin. Je crois que le poste parle du code côté client. L'URL https peut également avoir besoin d'être spécifié dans le WSDL en tant que https.

http://article.gmane.org/gmane.comp.apache.webservices.axis.user/58499

Questions connexes