none
Not Getting Service description for basicHttp application in biztalk RRS feed

  • Question

  • Hi all,

    I have a Biztalk Application which hosted as BasicHTTP service endpoint in IIS
    It's working fine and deployed since long time now i have noticed that while i am browsing application in broswer i am not getting Request and Response in it.

    I tried browsing applciation using http://Application.svc?singleWsdl URL and no request and response found in it.

    Is there any flag that is false what went wrong i am not sure about.


    Thanks and Regards, Nitin.

    Wednesday, February 24, 2016 7:31 AM

Answers

  • No,  You cannot use a metadata import tool (such as Svcutil.exe) to generate the client code required to call the service unless the service’s metadata publishing behavior is explicitly enabled in configuration. 

    Nitin,

    As a part of WCF security schema, by default no web service is allowed to share their description or Metadata unless they are configured to do so. You develop your service, test it and finally publish to production. But publishing web service to production will not enable service to be accessible unless service is configured to exchange its metadata. This is default security configuration of WCF service which blocks WSDL to be shared with users/developers.

     In ASMX web service, browsing WSDL is straight forward. You develop a web service, host inside IIS and then simply browse ASMX file to view WSDL. But things are not the same with WCF service. If you try to access WCF service endpoint it says – “Metadata publishing for this service is currently disabled”.

    While publishing either schema or orchestration as webservice you have to check the checkbox "Enable metadata endpoint" It causes the “httpGetEnabled” flag to be set to true, thus enabling someone to retrieve the WSDL.


    WCF Service Type page


    Rachit Sikroria (Microsoft Azure MVP)

    • Proposed as answer by Angie Xu Sunday, March 6, 2016 1:20 PM
    • Marked as answer by Angie Xu Sunday, March 6, 2016 1:20 PM
    Sunday, February 28, 2016 10:06 AM
    Moderator

All replies

  • Please make sure you have the following entry in your web.config under the behaviours node.

    <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" />

    In case you are using the BizTalk Service Publishing Wizard, you can accomplish this by turning on Enable on-premise metadata exchange.

    Wednesday, February 24, 2016 7:54 AM
  • Please make sure you have the following entry in your web.config under the behaviours node.

    <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" />

    In case you are using the BizTalk Service Publishing Wizard, you can accomplish this by turning on Enable on-premise metadata exchange.

    Yes i can confirm that 
    serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" />

    Thanks and Regards, Nitin.

    Wednesday, February 24, 2016 9:17 AM
  • Was that endpoint generated with the Metadata?  If not, then there's nothing to serve.
    Wednesday, February 24, 2016 1:10 PM
    Moderator
  • Can you share your schema that you are exposing as contract. Also, do you have 'any' type?
    Friday, February 26, 2016 7:02 PM
  • Hi Nitin,

    Thank you for posting on MSDN forum.

    You can use a metadata import tool (such as SvcUtil.exe) to generate the client code required to call this service in the development environment, if endpoint generated with metadata. Please verify.


    Thanks,

    If my reply is helpful please mark as Answer or vote as Helpful.

    My blog | Twitter | LinkedIn

    This post is my own opinion and does not necessarily reflect the opinion or view of Microsoft, its employees, or other MVPs.

    Saturday, February 27, 2016 6:48 PM
    Moderator
  • No,  You cannot use a metadata import tool (such as Svcutil.exe) to generate the client code required to call the service unless the service’s metadata publishing behavior is explicitly enabled in configuration. 

    Nitin,

    As a part of WCF security schema, by default no web service is allowed to share their description or Metadata unless they are configured to do so. You develop your service, test it and finally publish to production. But publishing web service to production will not enable service to be accessible unless service is configured to exchange its metadata. This is default security configuration of WCF service which blocks WSDL to be shared with users/developers.

     In ASMX web service, browsing WSDL is straight forward. You develop a web service, host inside IIS and then simply browse ASMX file to view WSDL. But things are not the same with WCF service. If you try to access WCF service endpoint it says – “Metadata publishing for this service is currently disabled”.

    While publishing either schema or orchestration as webservice you have to check the checkbox "Enable metadata endpoint" It causes the “httpGetEnabled” flag to be set to true, thus enabling someone to retrieve the WSDL.


    WCF Service Type page


    Rachit Sikroria (Microsoft Azure MVP)

    • Proposed as answer by Angie Xu Sunday, March 6, 2016 1:20 PM
    • Marked as answer by Angie Xu Sunday, March 6, 2016 1:20 PM
    Sunday, February 28, 2016 10:06 AM
    Moderator