2010-09-17 3 views
3
Warning 1 Custom tool warning: Cannot import wsdl:binding 
Detail: The given key was not present in the dictionary. 
XPath to Error Source: //wsdl:definitions[@targetNamespace='http://wrapper.dao.ccarwebservice.ids.com']/wsdl:binding[@name='CCaRWebServiceHttpBinding'] C:\Users\me\Documents\Visual Studio 2008 \Projects\CcarsWcfTest\CcarsWcfTest\Service References\ServiceReference1\Reference.svcmap 1 1 CcarsWcfTest 

Что я могу сделать для решения этой проблемы?Вопрос о добавлении услуги для wcf

Я попробовал запустить служебную программу из командной строки и добавить ссылку на сервис для моего проекта. Я также перешел в расширенную настройку в диалоговом окне «Добавить ссылку на службу» и не выбрал «Типы повторного использования во всех ссылочных ассемблерах».

EDIT

Вот часть WSDL я думаю, что это имеет в виду ..

<wsdl:binding name="CCaRWebServiceHttpBinding" type="ns:CCaRWebServicePortType"> 
    <http:binding verb="POST"/> 
    <wsdl:operation name="fnGetccarprogramsummaryarray"> 
     <http:operation location="CCaRWebService/fnGetccarprogramsummaryarray"/> 
     <wsdl:input> 
      <mime:content type="text/xml" part="fnGetccarprogramsummaryarray"/> 
     </wsdl:input> 
     <wsdl:output> 
      <mime:content type="text/xml" part="fnGetccarprogramsummaryarray"/> 
     </wsdl:output> 
    </wsdl:operation> 
    <wsdl:operation name="fnGetccarprogramsummary"> 
     <http:operation location="CCaRWebService/fnGetccarprogramsummary"/> 
     <wsdl:input> 
      <mime:content type="text/xml" part="fnGetccarprogramsummary"/> 
     </wsdl:input> 
     <wsdl:output> 
      <mime:content type="text/xml" part="fnGetccarprogramsummary"/> 
     </wsdl:output> 
    </wsdl:operation> 
</wsdl:binding> 



public partial class fnGetccarprogramsummaryarrayRequest 
{ 

    public fnGetccarprogramsummaryarrayRequest() 
    { 
    } 
} 

остальные так ...

public partial class fnGetccarprogramsummaryRequest 
{ 

    [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://wrapper.com", Order=0)] 
    [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)] 
    public string programAcronym; 

    public fnGetccarprogramsummaryRequest() 
    { 
    } 

    public fnGetccarprogramsummaryRequest(string programAcronym) 
    { 
     this.programAcronym = programAcronym; 
    } 
} 
+2

Первый шаг - сузить проблему. Затем разместите наименьшее подмножество WSDL, которое все еще вызывает проблему. –

+1

, но к чему это относится? – Avien

ответ

0

После поиска .. единственным решением, с которым я столкнулся, является игнорировать эту ошибку.

«Это внутренняя деталь реализации SvcUtil.

ошибка, вероятно, так как WSDL содержит POST связывания и utlity работает только на SOAP привязок. Но если есть другой SOAP связывание в WSDL он работает. "

1

Где сделал WSDL? Как это было создано?

Это может быть определение типов ввода и возврата.

  • fnGetccarprogramsummaryarray
  • fnGetccarprogramsummary.

Возможно, он пытается найти определение в массиве типов и не находит его.

EDIT

Я думаю, что я нашел это у вас есть POST привязки и инструмент поддерживает только SOAP связывания

http://social.msdn.microsoft.com/Forums/en/wcf/thread/859a2c87-02db-469d-ab65-c558ff091e61

Ключ, который не присутствует в то SOAP связывании ,

+0

wsdl происходит с другого сайта компании. Мы использовали регулярную службу asmx, и все работало нормально, поэтому я не знаю, что типы возврата отсутствуют. – Avien

+0

Не могли бы вы открыть файл wsdl в блокноте и проверить определение типов fnGet ... И какие технологии являются службами, реализованными на другом сайте? –

+0

они используют мыло .. безопасность на уровне сообщений и сертификаты клиентов. не уверен, что это именно то, что вы имели в виду. Хорошо, я собираюсь обновить свой вопрос, чтобы показать fnGetccarprogramsummaryarrayRequest. Все остальные fnGets имеют типы или параметры возврата. – Avien

Смежные вопросы