locked
Unable to add discovery web reference RRS feed

  • Question

  • Hi,

    I am trying to work on the samples provided in SDK to gain knowledge on the usage of webservices.

    I am trying to access the IFD environment CRM 4.0 but was not able to add the related discovery service web reference.

    am using the url as: http://orgname.domain.com:5555/MSCRMServices/2007/SPLA/CrmDiscoveryService.asmx;

    DO I HAVE TO BE IN THE LAN but it says WE CAN ACCESS OVER THE INTERNET TOO.

    IN MY SCENARIO I AM NOT IN LAN.



    can you please guide me in the right direction.

    Thx in Advance

    Thursday, March 11, 2010 5:00 AM

Answers

  • Ok come to this, the error message suggested that the discovery information is missing for this web services.
    without that
    discovery information you can't add it to the project

    have a read of this post it is a simillar situation.
    http://social.microsoft.com/Forums/en-US/crmdevelopment/thread/a57e65ea-2e51-4b9e-afa4-34910a4f68f9

    and this is a good one too
    http://forums.asp.net/t/1149033.aspx

    Best Regard Vincent L
    • Marked as answer by crm40 Thursday, March 11, 2010 12:54 PM
    Thursday, March 11, 2010 6:35 AM

All replies

  • Do you have the all of the roles install when you install your CRM application?  Roles like Server Role, Platform Role, etc?  You may check by going into your CRMWeb/MSCRMServices/2007 folder to see if you have the SPLA folder and the CrmDiscoveryService.asmx file.  If not, that means you don't all of the roles install.  I am sorry to tell you that you have to uninstall CRM and reinstall CRM with all roles.

    I hope this helps.


    Darren Liu | 刘嘉鸿 | MS CRM MVP | English Blog: http://msdynamicscrm-e.blogspot.com | Chinese Blog: http://liudarren.spaces.live.com
    Thursday, March 11, 2010 5:05 AM
    Moderator
  • thx darren..

    I checked the SPLA folder and everything is intact . what might be the problem?

    by the way where do i check for these roles?


    Thx in Advance.
    • Edited by crm40 Thursday, March 11, 2010 5:38 AM
    Thursday, March 11, 2010 5:35 AM
  • can you call the asmx via your IE?

    if so, what do you see?
    Best Regard Vincent L
    Thursday, March 11, 2010 5:37 AM
  • hi vincent.

    I tried to add the web reference using

    http://orgname.domain.com:5555/mscrmservices/2007/spla/crmdiscoveryservice.asmx

    It provided a sign in page (IFD) entered the admin credentials .On the next page


    CrmDiscoveryService


    The following operations are supported. For a formal definition, please review the Service Description.

    • Execute
      Executes requests using a message-based approach. The Execute method takes a message request class as a parameter and returns a message response class.

       

    In the webservices found at this URL box it says:

    The HTML document does not contain Web service discovery information.



    Thx in Advance
    Thursday, March 11, 2010 5:49 AM
  • Next thing to try is access same url in the LAN to see what you have got
    Best Regard Vincent L
    Thursday, March 11, 2010 5:59 AM
  • am sorry vincent i didnt answer ur IE part of the question
    
    
    when i called the asmx in the IE..it routed me to sign in page den the result is below.
    
    
    
    
      <?xml version="1.0" encoding="utf-8" ?> 
    - <wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="http://schemas.microsoft.com/crm/2007/CrmDiscoveryService" xmlns:s1="http://microsoft.com/wsdl/types/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" targetNamespace="http://schemas.microsoft.com/crm/2007/CrmDiscoveryService" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
    - <wsdl:types>
    - <s:schema elementFormDefault="qualified" targetNamespace="http://schemas.microsoft.com/crm/2007/CrmDiscoveryService">
      <s:import namespace="http://microsoft.com/wsdl/types/" /> 
    - <s:element name="Execute">
    - <s:complexType>
    - <s:sequence>
      <s:element minOccurs="0" maxOccurs="1" name="Request" type="tns:Request" /> 
      </s:sequence>
      </s:complexType>
      </s:element>
      <s:complexType name="Request" abstract="true" /> 
    - <s:complexType name="RetrieveClientPatchesRequest">
    - <s:complexContent mixed="false">
    - <s:extension base="tns:Request">
    - <s:sequence>
      <s:element minOccurs="0" maxOccurs="1" name="ClientInfo" type="tns:ClientInfo" /> 
      </s:sequence>
      </s:extension>
      </s:complexContent>
      </s:complexType>
    - <s:complexType name="ClientInfo">
    - <s:sequence>
      <s:element minOccurs="0" maxOccurs="1" name="PatchIds" type="tns:ArrayOfGuid" /> 
      <s:element minOccurs="1" maxOccurs="1" name="ClientType" type="tns:ClientTypes" /> 
      <s:element minOccurs="1" maxOccurs="1" name="UserId" type="s1:guid" /> 
      <s:element minOccurs="1" maxOccurs="1" name="OrganizationId" type="s1:guid" /> 
      <s:element minOccurs="1" maxOccurs="1" name="LanguageCode" type="s:int" /> 
      <s:element minOccurs="0" maxOccurs="1" name="OfficeVersion" type="s:string" /> 
      <s:element minOccurs="0" maxOccurs="1" name="OSVersion" type="s:string" /> 
      <s:element minOccurs="0" maxOccurs="1" name="CrmVersion" type="s:string" /> 
      </s:sequence>
      </s:complexType>
    - <s:complexType name="ArrayOfGuid">
    - <s:sequence>
      <s:element minOccurs="0" maxOccurs="unbounded" name="guid" type="s1:guid" /> 
      </s:sequence>
      </s:complexType>
    - <s:simpleType name="ClientTypes">
    - <s:list>
    - <s:simpleType>
    - <s:restriction base="s:string">
      <s:enumeration value="OutlookLaptop" /> 
      <s:enumeration value="OutlookDesktop" /> 
      <s:enumeration value="DataMigration" /> 
      <s:enumeration value="OutlookConfiguration" /> 
      <s:enumeration value="DataMigrationConfiguration" /> 
      </s:restriction>
      </s:simpleType>
      </s:list>
      </s:simpleType>
    - <s:complexType name="RetrieveOrganizationsRequest">
    - <s:complexContent mixed="false">
    - <s:extension base="tns:Request">
    - <s:sequence>
      <s:element minOccurs="0" maxOccurs="1" name="PassportTicket" type="s:string" /> 
      <s:element minOccurs="0" maxOccurs="1" name="UserId" type="s:string" /> 
      <s:element minOccurs="0" maxOccurs="1" name="Password" type="s:string" /> 
      </s:sequence>
      </s:extension>
      </s:complexContent>
      </s:complexType>
    - <s:complexType name="RetrieveCrmTicketRequest">
    - <s:complexContent mixed="false">
    - <s:extension base="tns:Request">
    - <s:sequence>
      <s:element minOccurs="0" maxOccurs="1" name="OrganizationName" type="s:string" /> 
      <s:element minOccurs="0" maxOccurs="1" name="PassportTicket" type="s:string" /> 
      <s:element minOccurs="0" maxOccurs="1" name="UserId" type="s:string" /> 
      <s:element minOccurs="0" maxOccurs="1" name="Password" type="s:string" /> 
      </s:sequence>
      </s:extension>
      </s:complexContent>
      </s:complexType>
    - <s:complexType name="RetrieveOrganizationExtendedDetailsRequest">
    - <s:complexContent mixed="false">
    - <s:extension base="tns:Request">
    - <s:sequence>
      <s:element minOccurs="0" maxOccurs="1" name="PassportTicket" type="s:string" /> 
      <s:element minOccurs="0" maxOccurs="1" name="UserId" type="s:string" /> 
      <s:element minOccurs="0" maxOccurs="1" name="Password" type="s:string" /> 
      </s:sequence>
      </s:extension>
      </s:complexContent>
      </s:complexType>
    - <s:complexType name="RetrievePolicyRequest">
    - <s:complexContent mixed="false">
      <s:extension base="tns:Request" /> 
      </s:complexContent>
      </s:complexType>
    - <s:complexType name="IsEndUserNotificationAvailableRequest">
    - <s:complexContent mixed="false">
    - <s:extension base="tns:Request">
    - <s:sequence>
      <s:element minOccurs="1" maxOccurs="1" name="OrganizationId" type="s1:guid" /> 
      <s:element minOccurs="1" maxOccurs="1" name="Client" type="tns:EndUserNotificationClient" /> 
      </s:sequence>
      </s:extension>
      </s:complexContent>
      </s:complexType>
    - <s:simpleType name="EndUserNotificationClient">
    - <s:restriction base="s:string">
      <s:enumeration value="None" /> 
      <s:enumeration value="WebApplication" /> 
      <s:enumeration value="Portal" /> 
      <s:enumeration value="Outlook" /> 
      <s:enumeration value="Email" /> 
      </s:restriction>
      </s:simpleType>
    - <s:element name="ExecuteResponse">
    - <s:complexType>
    - <s:sequence>
      <s:element minOccurs="0" maxOccurs="1" name="Response" type="tns:Response" /> 
      </s:sequence>
      </s:complexType>
      </s:element>
      <s:complexType name="Response" abstract="true" /> 
    - <s:complexType name="RetrieveOrganizationExtendedDetailsResponse">
    - <s:complexContent mixed="false">
    - <s:extension base="tns:Response">
    - <s:sequence>
      <s:element minOccurs="0" maxOccurs="1" name="OrganizationExtendedDetails" type="tns:ArrayOfOrganizationExtendedDetail" /> 
      </s:sequence>
      </s:extension>
      </s:complexContent>
      </s:complexType>
    - <s:complexType name="ArrayOfOrganizationExtendedDetail">
    - <s:sequence>
      <s:element minOccurs="0" maxOccurs="unbounded" name="OrganizationExtendedDetail" nillable="true" type="tns:OrganizationExtendedDetail" /> 
      </s:sequence>
      </s:complexType>
    - <s:complexType name="OrganizationExtendedDetail">
    - <s:sequence>
      <s:element minOccurs="1" maxOccurs="1" name="OrganizationId" type="s1:guid" /> 
      <s:element minOccurs="0" maxOccurs="1" name="OrganizationName" type="s:string" /> 
      <s:element minOccurs="0" maxOccurs="1" name="FriendlyName" type="s:string" /> 
      <s:element minOccurs="0" maxOccurs="1" name="Endpoints" type="tns:ArrayOfOrganizationEndpoint" /> 
      </s:sequence>
      </s:complexType>
    - <s:complexType name="ArrayOfOrganizationEndpoint">
    - <s:sequence>
      <s:element minOccurs="0" maxOccurs="unbounded" name="OrganizationEndpoint" nillable="true" type="tns:OrganizationEndpoint" /> 
      </s:sequence>
      </s:complexType>
    - <s:complexType name="OrganizationEndpoint">
    - <s:sequence>
      <s:element minOccurs="1" maxOccurs="1" name="AuthenticationType" type="s:int" /> 
      <s:element minOccurs="0" maxOccurs="1" name="CrmMetadataServiceUrl" type="s:string" /> 
      <s:element minOccurs="0" maxOccurs="1" name="CrmServiceUrl" type="s:string" /> 
      <s:element minOccurs="0" maxOccurs="1" name="WebApplicationUrl" type="s:string" /> 
      </s:sequence>
      </s:complexType>
    - <s:complexType name="IsEndUserNotificationAvailableResponse">
    - <s:complexContent mixed="false">
    - <s:extension base="tns:Response">
    - <s:sequence>
      <s:element minOccurs="1" maxOccurs="1" name="IsEndUserNotificationAvailable" type="s:boolean" /> 
      </s:sequence>
      </s:extension>
      </s:complexContent>
      </s:complexType>
    - <s:complexType name="RetrieveClientPatchesResponse">
    - <s:complexContent mixed="false">
    - <s:extension base="tns:Response">
    - <s:sequence>
      <s:element minOccurs="0" maxOccurs="1" name="PatchInfo" type="tns:ArrayOfClientPatchInfo" /> 
      </s:sequence>
      </s:extension>
      </s:complexContent>
      </s:complexType>
    - <s:complexType name="ArrayOfClientPatchInfo">
    - <s:sequence>
      <s:element minOccurs="0" maxOccurs="unbounded" name="ClientPatchInfo" nillable="true" type="tns:ClientPatchInfo" /> 
      </s:sequence>
      </s:complexType>
    - <s:complexType name="ClientPatchInfo">
    - <s:sequence>
      <s:element minOccurs="1" maxOccurs="1" name="PatchId" type="s1:guid" /> 
      <s:element minOccurs="0" maxOccurs="1" name="Title" type="s:string" /> 
      <s:element minOccurs="0" maxOccurs="1" name="Description" type="s:string" /> 
      <s:element minOccurs="1" maxOccurs="1" name="IsMandatory" type="s:boolean" /> 
      <s:element minOccurs="1" maxOccurs="1" name="Depth" type="s:int" /> 
      <s:element minOccurs="0" maxOccurs="1" name="LinkId" type="s:string" /> 
      </s:sequence>
      </s:complexType>
    - <s:complexType name="RetrieveOrganizationsResponse">
    - <s:complexContent mixed="false">
    - <s:extension base="tns:Response">
    - <s:sequence>
      <s:element minOccurs="0" maxOccurs="1" name="OrganizationDetails" type="tns:ArrayOfOrganizationDetail" /> 
      </s:sequence>
      </s:extension>
      </s:complexContent>
      </s:complexType>
    - <s:complexType name="ArrayOfOrganizationDetail">
    - <s:sequence>
      <s:element minOccurs="0" maxOccurs="unbounded" name="OrganizationDetail" nillable="true" type="tns:OrganizationDetail" /> 
      </s:sequence>
      </s:complexType>
    - <s:complexType name="OrganizationDetail">
    - <s:sequence>
      <s:element minOccurs="1" maxOccurs="1" name="OrganizationId" type="s1:guid" /> 
      <s:element minOccurs="0" maxOccurs="1" name="OrganizationName" type="s:string" /> 
      <s:element minOccurs="0" maxOccurs="1" name="FriendlyName" type="s:string" /> 
      <s:element minOccurs="0" maxOccurs="1" name="CrmMetadataServiceUrl" type="s:string" /> 
      <s:element minOccurs="0" maxOccurs="1" name="CrmServiceUrl" type="s:string" /> 
      <s:element minOccurs="0" maxOccurs="1" name="WebApplicationUrl" type="s:string" /> 
      </s:sequence>
      </s:complexType>
    - <s:complexType name="RetrieveCrmTicketResponse">
    - <s:complexContent mixed="false">
    - <s:extension base="tns:Response">
    - <s:sequence>
      <s:element minOccurs="0" maxOccurs="1" name="CrmTicket" type="s:string" /> 
      <s:element minOccurs="0" maxOccurs="1" name="OrganizationDetail" type="tns:OrganizationDetail" /> 
      <s:element minOccurs="0" maxOccurs="1" name="ExpirationDate" type="s:string" /> 
      </s:sequence>
      </s:extension>
      </s:complexContent>
      </s:complexType>
    - <s:complexType name="RetrievePolicyResponse">
    - <s:complexContent mixed="false">
    - <s:extension base="tns:Response">
    - <s:sequence>
      <s:element minOccurs="0" maxOccurs="1" name="Policy" type="s:string" /> 
      </s:sequence>
      </s:extension>
      </s:complexContent>
      </s:complexType>
      </s:schema>
    - <s:schema elementFormDefault="qualified" targetNamespace="http://microsoft.com/wsdl/types/">
    - <s:simpleType name="guid">
    - <s:restriction base="s:string">
      <s:pattern value="[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" /> 
      </s:restriction>
      </s:simpleType>
      </s:schema>
      </wsdl:types>
    - <wsdl:message name="ExecuteSoapIn">
      <wsdl:part name="parameters" element="tns:Execute" /> 
      </wsdl:message>
    - <wsdl:message name="ExecuteSoapOut">
      <wsdl:part name="parameters" element="tns:ExecuteResponse" /> 
      </wsdl:message>
    - <wsdl:portType name="CrmDiscoveryServiceSoap">
    - <wsdl:operation name="Execute">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Executes requests using a message-based approach. The Execute method takes a message request class as a parameter and returns a message response class.</wsdl:documentation> 
      <wsdl:input message="tns:ExecuteSoapIn" /> 
      <wsdl:output message="tns:ExecuteSoapOut" /> 
      </wsdl:operation>
      </wsdl:portType>
    - <wsdl:binding name="CrmDiscoveryServiceSoap" type="tns:CrmDiscoveryServiceSoap">
      <soap:binding transport="http://schemas.xmlsoap.org/soap/http" /> 
    - <wsdl:operation name="Execute">
      <soap:operation soapAction="http://schemas.microsoft.com/crm/2007/CrmDiscoveryService/Execute" style="document" /> 
    - <wsdl:input>
      <soap:body use="literal" /> 
      </wsdl:input>
    - <wsdl:output>
      <soap:body use="literal" /> 
      </wsdl:output>
      </wsdl:operation>
      </wsdl:binding>
    - <wsdl:binding name="CrmDiscoveryServiceSoap12" type="tns:CrmDiscoveryServiceSoap">
      <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" /> 
    - <wsdl:operation name="Execute">
      <soap12:operation soapAction="http://schemas.microsoft.com/crm/2007/CrmDiscoveryService/Execute" style="document" /> 
    - <wsdl:input>
      <soap12:body use="literal" /> 
      </wsdl:input>
    - <wsdl:output>
      <soap12:body use="literal" /> 
      </wsdl:output>
      </wsdl:operation>
      </wsdl:binding>
    - <wsdl:service name="CrmDiscoveryService">
    - <wsdl:port name="CrmDiscoveryServiceSoap" binding="tns:CrmDiscoveryServiceSoap">
      <soap:address location=http://democrm.domain.com:5555/mscrmservices/2007/spla/crmdiscoveryservice.asmx /> 
      </wsdl:port>
    - <wsdl:port name="CrmDiscoveryServiceSoap12" binding="tns:CrmDiscoveryServiceSoap12">
      <soap12:address location=http://democrm.domain.com:5555/mscrmservices/2007/spla/crmdiscoveryservice.asmx /> 
      </wsdl:port>
      </wsdl:service>
      </wsdl:definitions>
    
    
    Thx in Advance
    Thursday, March 11, 2010 5:59 AM
  • thst's looking good by the IE result.

    When you add a as a "Web reference"(In your project, Right click, add web reference) you can put the same url to url and hit go.
    you should see same XML appare on your screen, give the web reference a name that you should be all good.
    Best Regard Vincent L
    Thursday, March 11, 2010 6:08 AM
  • thx vincent for a prompt response.

    That is what i was wondering ...when i tried to add as a webreference..

    it says

    "CrmDiscoveryService" Description

     

    Methods

    • Execute ( Request As Request ) As Response
      Executes requests using a message-based approach. The Execute method takes a message request class as a parameter and returns a message response class.



      in the window onto the right
      In the webservices found at this URL box it says:


      The HTML document does not contain Web service discovery information.

      and the webreference name and add reference is grayed out.

      Thx in Advance

    Thursday, March 11, 2010 6:18 AM
  • Ok come to this, the error message suggested that the discovery information is missing for this web services.
    without that
    discovery information you can't add it to the project

    have a read of this post it is a simillar situation.
    http://social.microsoft.com/Forums/en-US/crmdevelopment/thread/a57e65ea-2e51-4b9e-afa4-34910a4f68f9

    and this is a good one too
    http://forums.asp.net/t/1149033.aspx

    Best Regard Vincent L
    • Marked as answer by crm40 Thursday, March 11, 2010 12:54 PM
    Thursday, March 11, 2010 6:35 AM
  • thx for showing interest in my query vincent.appreciate your time.
    I will be checkin the links mentioned and will get back to you hopefully on a positive note.


    thx again
    Thursday, March 11, 2010 6:51 AM
  • I have exactly the same issue. crm40, did you find a solution??

    Any help greatly appreciated.
    Thursday, March 18, 2010 7:35 PM
  • Add me to the list of people with this exact issue.  I have been banging my head against a wall for a week trying to solve this.  In my situation, I am bringing up a DEV environment and get this issue.  I am able to add the web reference in my PROD environment.  I have compared the web configs and Directory Security settings on the MSCRMSerivces folder and they mimic Prod.  Any help would be very much appreciated.


    Thanks

    Saturday, April 3, 2010 3:27 PM
  • Hi everyone

    Im having exact same problem as crm40..im totally unable to add crmdiscoveryservice to my project..plz plz plz help me figure it out..how did you resolve this problem

     

    when i try to add crmdiscoveryservice in vs 2008 project,

    i get the following page loaded when i enter url for crm discovery service

     

    CrmDiscoveryService


    The following operations are supported. For a formal definition, please review the Service Description.

    Execute
    Executes requests using a message-based approach. The Execute method takes a message request class as a parameter and returns a message response class.

     

    and on the right hand side pane it says

    "The HTML document does not contain Web service discovery information."

     

    The button for "ADD REFERENCE" is all greyed out..please help me..i need to work on this for my work project..and im totally new to crm . please help me anyone

    • Proposed as answer by patnj Tuesday, May 4, 2010 10:43 AM
    Monday, May 3, 2010 8:57 PM
  • Hi everyone

    Im having exact same problem as crm40..im totally unable to add crmdiscoveryservice to my project..plz plz plz help me figure it out..how did you resolve this problem

     

    when i try to add crmdiscoveryservice in vs 2008 project,

    i get the following page loaded when i enter url for crm discovery service

     

    CrmDiscoveryService


     

    The following operations are supported. For a formal definition, please review the Service Description.

    Execute
    Executes requests using a message-based approach. The Execute method takes a message request class as a parameter and returns a message response class.

     

    and on the right hand side pane it says

    "The HTML document does not contain Web service discovery information."

     

    The button for "ADD REFERENCE" is all greyed out..please help me..i need to work on this for my work project..and im totally new to crm . please help me anyone

    • Proposed as answer by patnj Tuesday, May 4, 2010 10:43 AM
    Monday, May 3, 2010 8:57 PM
  • POSSIBLE ANSWER:

    Hi All,

    I raised a support ticket with Microsoft about 3 weeks ago, relating to adding Web Services for IFD CRM installs to VS 2005/2008.

    To cut a long story short, they agreed that their "Help .chm" files were misleading, along with articles on MSDN relating to connecting to Web services in IFD circumstances (which they have said they will update).

    The Solution given by Microsoft was as follows:

    1. Log into MS CRM using the standard login page (the forms based authentication) for Internet Explorer.
    2. Once logged in, change the URL to CRMDiscoveryService (spla) i.e. http://servername.domain.com:5555/mscrmservices/2007/spla/crmdiscoveryservice.asmx and click on the "Service Description" link, which will display the XML definition of the webservice.
    3. From Internet Explorer, goto File -> SaveAs and change the extension of the file from crmdiscoveryservice.asmx to crmdiscoveryservice.wsdl (notice the .wsdl file extension)
    4. Then in VS 2005/2008, goto to Web Reference and enter your path to the local folder where you saved the .wsdl file, click "Go"
    5. This should then display the web services and allow you to add it.
    • To get hold of the CrmService and Metadataservice, you can follow the same steps above, obviously using the correct URL to the web services or Log into MS CRM, goto Settings -> Customisations -> Download Web service description files.

    Hope the above helps.

    Regards
    Neel...

    • Proposed as answer by patnj Tuesday, May 4, 2010 10:46 AM
    Tuesday, May 4, 2010 10:46 AM
  • THANKS PATNJ!!!!

    your solution worked.. I had reached a deadlock and you helped me figure out the problem soo easily.  Thanks for your prompt reply. Good Luck with all your work.

     

    Regards,

     

    -S

    Tuesday, May 4, 2010 2:00 PM