none
WCF WSDL Error!!!

    Question

  • 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

    what can i do to resolve this issue?  I've tried running the service utility from the command prompt and adding a service reference to my project.

    please help

    Thursday, September 16, 2010 7:10 PM

Answers

  • no it is not related to certificates - it is internal implementation detail of svcutil.

    The error is probably since the wsdl contains a POST binding and the utlity only works on SOAP bindings. But if there is another SOAP binding in the wsdl it works.

    In other words - ignore the error and check if a proxy has been created (under the references node). If so you can use it.

     


    http://webservices20.blogspot.com/
    WCF Security, Interoperability And Performance Blog
    • Marked as answer by fizgig07 Friday, September 17, 2010 9:01 PM
    Friday, September 17, 2010 7:05 PM

All replies

  • Please publish here the wsdl and any referenced wsdl/xsd.
    http://webservices20.blogspot.com/
    WCF Security, Interoperability And Performance Blog
    Thursday, September 16, 2010 7:24 PM
  • https://cbdp.ccar.army.mil/axis2/services/CCaRWebService?wsdl

    there you go.. they're using certificate and message based ssecurity..btw

    Thursday, September 16, 2010 7:37 PM
  • Save the wsdl locally to the disk, delete the first empty line and import from there.

    I have used "add service reference" in VS to verify this works but svcutil.exe should work just as fine.


    http://webservices20.blogspot.com/
    WCF Security, Interoperability And Performance Blog
    Thursday, September 16, 2010 10:58 PM
  • So... I save it as an xml file, then add to the project? Or I save the file as xml and then enter the file location in the address in the add service dialog?

    How is this going to work on production?  Will we have to use this same procedure?

    Friday, September 17, 2010 2:35 PM
  • ok.. so i tried both ways I said in my previous comments and neither work.  There was no blank space to delete in the file...

    Can someone please help!?!

    Friday, September 17, 2010 3:45 PM
  • Let's say you saved it as c:\service.wsdl

    then in Vs right click the "references" node in the solution tree and choose "add service reference...". then write c:\service.wsdl and click "Ok".

    In production all you need is your compiled application, not the xml.


    http://webservices20.blogspot.com/
    WCF Security, Interoperability And Performance Blog
    Friday, September 17, 2010 3:48 PM
  • Thank you for you help.. 

    So, I saved the file service.wsdl then added a service reference to it.  It worked slightly.. I still received the same error message. 

    In the message it's referring to a key not being given and then it's location...?

    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
    
    
    

    I went to the location it references in this part of the error, but I'm not sure what key it means, public private certificate?

    Here's that part of the .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> 
    
    
    Friday, September 17, 2010 6:53 PM
  • no it is not related to certificates - it is internal implementation detail of svcutil.

    The error is probably since the wsdl contains a POST binding and the utlity only works on SOAP bindings. But if there is another SOAP binding in the wsdl it works.

    In other words - ignore the error and check if a proxy has been created (under the references node). If so you can use it.

     


    http://webservices20.blogspot.com/
    WCF Security, Interoperability And Performance Blog
    • Marked as answer by fizgig07 Friday, September 17, 2010 9:01 PM
    Friday, September 17, 2010 7:05 PM