2011-09-27 2 views
1

Je demande comment pouvons-nous convertir un fichier WSDL1.1 qui contient certains WS-SecurityPolicy en un fichier WSDL2.0.Convert WSDL1.1 en WSDL2.0

J'ai essayé d'utiliser le cadre de Woden apache de le faire en utilisant ce tutoriel: http://ssagara.blogspot.com/2009/01/converting-wsdl11-to-wsdl20-using-woden.html, mais i'am rencontrer ce problème:

java.lang.IllegalArgumentException: élément d'extension inconnue Rencontrés « {http: //schemas.xmlsoap.org/ws/2004/09/policy}Policy ', en tant qu'enfant d'un javax.wsdl.Binding.

Quelqu'un at-il une solution pour ce genre de conversion s'il vous plaît?

Répondre

1

Cela ne peut pas être difficile - puisque la politique est indépendante de WSDL. Mieux vaut supprimer la politique de sécurité du WSDL 1.1 et le convertir en 2.0. Puis ajoutez séparément la politique au wsdl.

+0

Merci d'avoir répondu! Eh bien, mon but final est de détecter la ws-securitypolicy dans n'importe quel fichier WSDL (indépendamment s'il s'agit d'un WSDL1.1 ou WSDL2.0) en utilisant le framework apache-rampart et pour cela je dois analyser le fichier WSDL pour lequel j'ai cadre en bois utilisé qui analysent seulement les fichiers WSDL2.0, donc si vous avez une idée pour aider, je serais reconnaissant :) –

1

Outil de conversion Woden basé sur des modèles XSL et ne prenant en charge aucun traitement d'extension tel que WS-Policy. Comme Prabath mentionné en premier, vous devez supprimer cette politique de sécurité de WSDL 1.1. BTW une fois que vous ajoutez une stratégie au document WSDL 2.0, Woden peut les analyser via son mécanisme de gestion des extensions. S'il vous plaît se référer à ce poste http://ssagara.blogspot.com/2009/03/parsing-wsdl-20-extensions-with-woden.html

+0

Merci d'avoir répondu! En fait, j'ai déjà vu le tutoriel sur votre blog et cela m'a vraiment aidé, mais le problème ici est que je dois détecter automatiquement toute politique de sécurité ws-security dans n'importe quel fichier WSDL (indépendamment s'il s'agit d'un WSDL1.1 ou WSDL2.0) donc si vous avez une idée de comment le faire s'il vous plaît envoyez-moi (j'ai envoyé un e-mail, mais vous n'avez pas répondu) –