locked
HealthVault app - Web proxy related issue RRS feed

  • Question

  • Hello,

    We are encountering a HTTP 500 exception that we think is related to our HealthVault integrated app using a web proxy.

    Here are some facts and data:

    1. Our HV integration application is an ASP.NET based; it uses the .NET SDK for communicating with Microsoft HV.

    2. The App is hosted in IIS in Win 2003 server.

    This server sits behind firewall. There is a web proxy setup in Apache web server routing request/response to the IIS app server. This Apache server sits outside the firewall.

    3 Configuration in our HV app has the following to enable proxy:

     

    <system.net>

        <defaultProxy enabled="true">

          <proxy bypassonlocal="true" proxyaddress="http://xyz.domain.com/healthvault" />

        </defaultProxy>

      </system.net>

     

    4. Here are the other relevant config settings in our HV app:

     

                   <appSettingsUser>

                                 <add key="SpewUnhandledExceptions" value="true"/>

                                 <add key="WCPage_SSLForSecure" value="false"/>

                   </appSettingsUser>

                   <appSettings>

        <add key="ApplicationId" value="xyz" />

        <add key="ShellUrl" value="https://account.healthvault-ppe.com/"/>

        <add key="HealthServiceUrl" value="https://platform.healthvault-ppe.com/platform/"/>

        <add key="NonProductionActionUrlRedirectOverride" value="Redirect.aspx" />

        <add key="WCPage_ActionHome" value="HealthVault.aspx"/>

        <add key="WCPage_ActionAppAuthSuccess" value="HealthVault.aspx"/>

        <add key="WCPage_ActionSignOut" value="SignedOut.aspx"/>

    The issue:

    1.      User is successfully gets transferred to, logged to, and is done with the flow on the MS HV website

    2.      User is redirected back to our HV integration application via designated “Action URL” that we have setup in MS HV PPE config: https://xyz.domain.com/HealthVault/Redirect.aspx . Please note that this page derived from the SDK class HealthServiceActionPage

     

    As soon as the browser hits the “Action URL” page (Redirect.aspx), the server throws the following HTTP 500 exception.

     

    Server Error in '/HealthVault' Application.

    The remote server returned an error: (500) Internal Server Error.

    Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

    Exception Details: System.Net.WebException: The remote server returned an error: (500) Internal Server Error.

    Source Error:

    An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.


    Stack Trace:

     

    [WebException: The remote server returned an error: (500) Internal Server Error.]

       Microsoft.Health.EasyWebRequest.StartPostRequest() in c:\src\hsmain\private\prod\src\sdk\core\EasyWebRequest.cs:601

       Microsoft.Health.EasyWebRequest.Fetch(Uri url) in c:\src\hsmain\private\prod\src\sdk\core\EasyWebRequest.cs:225

       Microsoft.Health.EasyWebRequest.Fetch(Uri url, IEasyWebResponseHandler customHandler) in c:\src\hsmain\private\prod\src\sdk\core\EasyWebRequest.cs:249

       Microsoft.Health.HealthServiceRequest.ExecuteInternal() in c:\src\hsmain\private\prod\src\sdk\core\HealthServiceRequest.cs:140

       Microsoft.Health.HealthServiceRequest.Execute() in c:\src\hsmain\private\prod\src\sdk\core\HealthServiceRequest.cs:129

       Microsoft.Health.Authentication.Credential.MakeCreateTokenCall(String methodName, Int32 version, HealthServiceConnection connection, Collection`1 appTokenCreationInfo) in c:\src\hsmain\private\prod\src\sdk\core\Authentication\Credential.cs:520

       Microsoft.Health.Authentication.Credential.MakeCreateTokenCall(String methodName, Int32 version, HealthServiceConnection connection, Guid appId, Boolean isMra) in c:\src\hsmain\private\prod\src\sdk\core\Authentication\Credential.cs:436

       Microsoft.Health.Authentication.Credential.CreateAuthenticatedSessionToken(HealthServiceConnection connection, Guid appId) in c:\src\hsmain\private\prod\src\sdk\core\Authentication\Credential.cs:381

       Microsoft.Health.Web.Authentication.WebApplicationCredential.AuthenticateKeySetPair(AuthSessionKeySetPairs keySetPairs, HealthServiceConnection connection, Guid applicationId) in c:\src\hsmain\private\prod\src\sdk\core\Authentication\WebApplicationCredential.cs:1019

       Microsoft.Health.Web.Authentication.WebApplicationCredential.AuthenticateKeySetPair(HealthServiceConnection connection, Guid applicationId) in c:\src\hsmain\private\prod\src\sdk\core\Authentication\WebApplicationCredential.cs:954

       Microsoft.Health.Web.Authentication.WebApplicationCredential.Authenticate(HealthServiceConnection connection, Guid applicationId) in c:\src\hsmain\private\prod\src\sdk\core\Authentication\WebApplicationCredential.cs:378

       Microsoft.Health.Web.Authentication.WebApplicationCredential.AuthenticateIfRequired(HealthServiceConnection connection, Guid applicationId) in c:\src\hsmain\private\prod\src\sdk\core\Authentication\WebApplicationCredential.cs:345

       Microsoft.Health.AuthenticatedConnection.Authenticate() in c:\src\hsmain\private\prod\src\sdk\core\AuthenticatedConnection.cs:721

       Microsoft.Health.Web.WebApplicationUtilities.GetPersonInfo(String authToken) in c:\src\hsmain\private\prod\src\sdk\web\WebApplicationUtilities.cs:1344

       Microsoft.Health.Web.WebApplicationUtilities.HandleTokenOnUrl(HttpContext context, Boolean isLoginRequired) in c:\src\hsmain\private\prod\src\sdk\web\WebApplicationUtilities.cs:1360

       Microsoft.Health.Web.WebApplicationUtilities.PageOnPreLoad(HttpContext context, Boolean logOnRequired, Boolean isMra) in c:\src\hsmain\private\prod\src\sdk\web\WebApplicationUtilities.cs:239

       Microsoft.Health.Web.HealthServicePage.OnPreLoad(EventArgs e) in c:\src\hsmain\private\prod\src\sdk\web\HealthServicePage.cs:116

       System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +948

     

    Version Information:  Microsoft .NET Framework Version:2.0.50727.42; ASP.NET Version:2.0.50727.42

     

    We have no clue to why this happens. Could you please help us resolve this issue ASAP?

    Thank you very much!

    Thursday, July 16, 2009 8:33 PM

Answers