wsdl.exe Erreur: Impossible d'importer de liaison " ... " à partir de l'espace de noms '...'
Lors de l'exécution de wsdl.exe sur un WSDL j'ai créé, j'ai cette erreur:
Erreur: Impossible d'importer de liaison "SomeBinding' de l'espace de noms 'SomeNS'.
- Impossible d'importer de l'opération "someOperation'.
- Ces membres ne peuvent pas être dérivées.
Je suis en utilisant le document-style littéral, et au meilleur de ma connaissance que je suis en suivant toutes les règles.
Pour résumer, j'ai un valide WSDL, mais l'outil ne l'aime pas.
Ce que je cherche si quelqu'un qui a beaucoup d'expérience avec le wsdl.exe outil et connaît les secrets de gotcha que je n'ai pas.
- Jetez un oeil à cet article.
Vous devez vous connecter pour publier un commentaire.
Je suis tombé sur le même message d'erreur. Après avoir creusé pendant un certain temps, que l'on peut fournir les fichiers xsd en plus du fichier wsdl. Ainsi inclus/importés .les fichiers xsd en plus .wsdl à la fin de l'wsdl commande comme suit:
Wsdl a donné quelques mises en garde, mais elle a créé un ok interface de service.
parfois u pour changer ur de code.
la partie du message-les noms ne sont pas la même chose 😉
à ceci:
@thehhv la solution est correcte. Il y a solution de contournement qui ne nécessite pas l'ajout d'
xsd
s à la main.Allez à votre service, au lieu d'aller
?wsdl
aller à?singleWsdl
(capture d'écran ci-dessous)puis enregistrez la page en tant que
.wsdl
fichier (il offrira.svc
donc le changer)puis ouvrez
Visual studio command prompt
vous pouvez le trouver dans (Win 7) Démarrer -> Tous les Programmes -> Visual studio 2013 -> outils de Visual Studio -> VS2013 x64 Natif Invite de Commande des Outils (peut-être pour quelque chose simmilar)Ensuite, exécutez la commande suivante dans
Visual studio command prompt
(où, au lieu de C:\WebPricingService.wsdl est l'endroit où vous avez enregistré votre fichier wsdl, sauf s'il se trouve que nous pensons très semblables, et de choisir le même nom de fichier et l'emplacement de ce qui est inquiétant)Il devrait vous donner quelques avertissements que @thehhv dit, mais encore générer le client dans
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\amd64\WebPricingService.cs
(ou partout où il le met sur votre machine - vérifier la sortie de la console où il écrit "de l'Écriture du fichier')Espère que cela vous fait gagner du temps.
Dans mon cas, le problème était différent, et il est bien décrit ici:
Le fixer comme suit, et a parfaitement fonctionné pour moi:
(accent mis par moi)
Au cas où quelqu'un frappe de ce mur, ici, c'est ce qui a causé l'erreur dans mon cas:
J'ai une opération:
qui prend en entrée:
et une autre opération:
de prendre une entrée:
Et les éléments d'entrée sont des instances de deux types:
Voici les captures - le
reporting:FormatReportAsyncInputType
type s'étend (dérive) lereporting:FormatReportInputType
type. C'est ce que semble confondre l'outil et la cause de la "Ces membres ne peuvent pas être dérivées." erreur. Vous pouvez faire le tour qu'à la suite de la suggestion dans l'acceptation de réponse.Dans le cas où vous faites cela avec UPS Livraison wsdl et vous souhaitez changer de dev de prod url lorsque vous avez des capacités pour les différentes régions (debug,dev,prod) etc. Vous pouvez utiliser la commande ci-dessous pour générer un vb ou C# de fichier à partir du Navire.wsdl et ensuite de remplacer des valeurs dans ce cas Navire.vb fichier.