none
WCF service works only when fiddler capturing the requests RRS feed

  • Question

  • I am writing a discovery web service (implements GET and POST requests) which is hosted on IIS 8 over HTTP and HTTPS (HTTPS uses self signed certificate) which will be called by Windows Phone 8 Enrollment client (written by MSFT). 

    Case 1: No network packet data capture using Fiddler

    I see the only the http GET request from the Windows Phone Enrollment Client to  the discovery web service. After the GET response, I don't see any https POST request from the Windows Phone 8 Enrollment client.

     

    Case 2: Fiddler is enabled to capture the network packets

    a). Enable the Tools > Fiddle Options > Connections > Allow Remote Computers to Connect and set the proxy port and Tools > Fiddle Options >HTTPS > Enable the Decrypt HTTPS traffic

    b).  Set the Fiddler server (same as Web Service Server) address and proxy port on the Windows Phone 8 device

    In this case I see both https GET and POST request and responses and it works as expected.

    Question:

    Please suggest me why I am not receiving the HTTPS GET and POST requests when the Fiddler is NOT running?


    K Raj



    Monday, August 5, 2013 9:39 PM

Answers

  • Hi,

     >>WCF service works only when fiddler capturing the requestsit worked

    It is a very strange behavior. Are there any proxies used (Fiddler is also proxy so you probably allow communication through proxy)? 

    Please try to use WCF tracing without Fiddler. Then you will see timing of activities in WCF processing. Than you can decide if problem is inside or outside WCF.

    If the question is related to web proxy setting on the server machine, please try to switching the proxy setting(in the IE proxy setting)  such as disable proxy or use a different proxy (bypass local address) to see whether it helps.

    The following article provide some detailed explanation on the proxy setting on Windows system with .NET framework based application:
    #Proxy Detection--Take the Burden Off Users with Automatic Configuration in .NET
    http://msdn.microsoft.com/en-us/magazine/cc300743.aspx .

    Best Regards.


    Amy Peng
    MSDN Community Support | Feedback to us
    Develop and promote your apps in Windows Store
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.


    Tuesday, August 6, 2013 6:35 AM
    Moderator
  • No proxies used when I was not using the Fiddler tool. Also I have tried with different proxy and/or bypass the local address, but that didnot help.

    By setting the fiddler tool proxy and HTTPS decrypt, I see the GET and POST requests.

    To use HTTPS, do I need to use valid certificate from CA or it will work with self signed certificate itself?


    K Raj

    Hi,

    Yes, in my mind, we need to use the valid certificate from the CA.

    For more information, please try to refer to:
    #About SSL Certificates:
    http://www.digicert.com/ssl.htm .

    And your question about the WCF service works only when fiddler capturing the requests, please try to refer to this similar thread:
    http://stackoverflow.com/questions/4801189/httpwebrequest-doesnt-work-except-when-fiddler-is-running .

    Best Regards.


    Amy Peng
    MSDN Community Support | Feedback to us
    Develop and promote your apps in Windows Store
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.


    Friday, August 16, 2013 3:07 AM
    Moderator

All replies

  • Hi,

     >>WCF service works only when fiddler capturing the requestsit worked

    It is a very strange behavior. Are there any proxies used (Fiddler is also proxy so you probably allow communication through proxy)? 

    Please try to use WCF tracing without Fiddler. Then you will see timing of activities in WCF processing. Than you can decide if problem is inside or outside WCF.

    If the question is related to web proxy setting on the server machine, please try to switching the proxy setting(in the IE proxy setting)  such as disable proxy or use a different proxy (bypass local address) to see whether it helps.

    The following article provide some detailed explanation on the proxy setting on Windows system with .NET framework based application:
    #Proxy Detection--Take the Burden Off Users with Automatic Configuration in .NET
    http://msdn.microsoft.com/en-us/magazine/cc300743.aspx .

    Best Regards.


    Amy Peng
    MSDN Community Support | Feedback to us
    Develop and promote your apps in Windows Store
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.


    Tuesday, August 6, 2013 6:35 AM
    Moderator
  • No proxies used when I was not using the Fiddler tool. Also I have tried with different proxy and/or bypass the local address, but that didnot help.

    By setting the fiddler tool proxy and HTTPS decrypt, I see the GET and POST requests.

    To use HTTPS, do I need to use valid certificate from CA or it will work with self signed certificate itself?


    K Raj

    Tuesday, August 6, 2013 8:35 PM
  • Fiddler will recognize the types of packets and in some cases automatically display the decoded packets, but you have to add the decoding in your code to get the decoded packets.  for example, if the packets are GZIP the decoded bytes in fiddler will either show the coded of the decoded packets depending on the fiddler settings.  Your VS application will won't decode these packets unless you add the code.

    jdweng

    Tuesday, August 6, 2013 9:02 PM
  • Hi jdweng,

    I don't even get any HTTPS GET and POST requests itself when the fiddler is not running. When I look at the IIS log/Wireshark I see only HTTP GET, but HTTPS GET and POST when the Fiddler is not running.

    I would like to  know why my web service does not receive HTTPS GET and POST requests when the Fiddler is NOT running?


    K Raj

    Tuesday, August 6, 2013 9:15 PM
  • No proxies used when I was not using the Fiddler tool. Also I have tried with different proxy and/or bypass the local address, but that didnot help.

    By setting the fiddler tool proxy and HTTPS decrypt, I see the GET and POST requests.

    To use HTTPS, do I need to use valid certificate from CA or it will work with self signed certificate itself?


    K Raj

    Hi,

    Yes, in my mind, we need to use the valid certificate from the CA.

    For more information, please try to refer to:
    #About SSL Certificates:
    http://www.digicert.com/ssl.htm .

    And your question about the WCF service works only when fiddler capturing the requests, please try to refer to this similar thread:
    http://stackoverflow.com/questions/4801189/httpwebrequest-doesnt-work-except-when-fiddler-is-running .

    Best Regards.


    Amy Peng
    MSDN Community Support | Feedback to us
    Develop and promote your apps in Windows Store
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.


    Friday, August 16, 2013 3:07 AM
    Moderator