Я пытаюсь создать веб-сервис, соответствующий WSDL, по адресу:
http://assets.cdn.gamigo.com/xml/connection-service/1.0.10/account.wsdl
Когда я запускаю с svcutil.exe, как это:
svcutil.exe /language:C# /out:GamigoServices.cs http://assets.cdn.gamigo.com/xml/connection-service/1.0.10/account.wsdl
Я получаю эти ошибки:
Error: Cannot import wsdl:binding
Detail: The given key was not present in the dictionary.
XPath to Error Source: //wsdl:definitions[@targetNamespace='http://connection.ga
mes.gamigo.com/v_1_0']/wsdl:binding[@name='DefaultAccountServiceServiceSoapBindi
ng']
Error: Cannot import wsdl:port
Detail: There was an error importing a wsdl:binding that the wsdl:port is depend
ent on.
XPath to wsdl:binding: //wsdl:definitions[@targetNamespace='http://connection.ga
mes.gamigo.com/v_1_0']/wsdl:binding[@name='DefaultAccountServiceServiceSoapBindi
ng']
XPath to Error Source: //wsdl:definitions[@targetNamespace='http://connection.ga
mes.gamigo.com/v_1_0']/wsdl:service[@name='AccountService']/wsdl:port[@name='Acc
ountServicePort']
Я также попробовал инструмент, Wscf: Blue, который выдает мне те же ошибки (это плагин WCF VS, который, вероятно, сделает еще большедля меня однажды я пройду этот шаг).
С другой стороны, если я использую wsdl.exe (чего я не хочу, потому что я хочу использовать WCF, и, насколько я понимаю, я нужно , чтобы использовать svcutil.exe для WCF, но я просто попытался wsdl.exe в моих попытках сузить источник проблем), например:
wsdl.exe http://assets.cdn.gamigo.com/xml/connection-service/1.0.10/account.wsdl /serverInterface
ошибок нет.
Я пробовал разные вещи с локальными копиями WSDL (и типами .xsd, на которые он ссылается), комментировал разделы и т. Д., Чтобы сузить проблему.Тем не менее, это действительно сводится к тому, к чему относится сообщение об ошибке, к определению этой привязки.Я также погуглил, но несколько ссылок на такого рода ошибки не помогают вообще.Кроме того, я особенно озадачен тем фактом, что wsdl.exe кажется вполне подходящим для этого WSDL.Я также использовал http://xmethods.net/ve2/WSDLAnalyzer.po# для проверки WSDL, ошибок не было.
Итак, теперь я нахожусь в точке, где я действительно не знаю, как поступить.Поскольку весь вопрос несколько критичен по времени - к следующей неделе я действительно должен начать с реализации - я мог бы в конечном итоге использовать код, сгенерированный wsdl.exe и перейти на более старую технологию, устаревшую MS, но по нескольким (очевидным) причинамЯ бы предпочел не идти этим путем.Так что если у кого-нибудь есть идеи, как заставить svcutil.exe работать с этим, я был бы благодарен.Я мог бы добавить, что хотя я не могу изменить определение, я мог бы убедить издателя этого WSDL выполнить определенные изменения или, по крайней мере, опубликовать вторую версию для моих целей.
Большое спасибо,
Макс
Вена,
Австрия