1

My webservices throw the error Cross domain javascript callback is not supported in authenticated services when I try to access them when I'm signed in to my site (using Forms authentication).

I require:

  • service has to work over http and https
  • service has to work whether I'm logged in or not
  • service has to work cross-domain

The services currently work over http, https and when I'm not logged in, also cross-domain.

I was checking these posts:

  1. Cross domain javascript callback is not supported in authenticated services. AJAX query to WCF service via SSL proxy
  2. WCF REST Service Template 40(CS) Cross domain error

I've implemented the code from the later:

global.asax

Sub Application_BeginRequest(ByVal sender As Object, ByVal e As EventArgs)
  If HttpContext.Current.Request.Headers IsNot Nothing Then
            Dim domainname As String
            If Not String.IsNullOrEmpty(HttpContext.Current.Request.Headers("Origin")) Then
                domainname = HttpContext.Current.Request.Headers("Origin").ToString
                If IsAllowedDomain(domainname) Then
                    HttpContext.Current.Response.AddHeader("Access-Control-Allow-Origin", domainname)
                End If
                Dim allowedmethods As String = "POST, PUT, DELETE, GET"
                If Not String.IsNullOrEmpty(HttpContext.Current.Request.Headers("Access-Control-Request-Headers")) Then
                    Dim headers As String = HttpContext.Current.Request.Headers("Access-Control-Request-Headers").ToString()
                    Dim accesscontrolmaxage As String = "1728000"
                    Dim contenttypeforoptionsrequest As String = "application/json"
                    If HttpContext.Current.Request.HttpMethod = "OPTIONS" Then
                        // 'These headers are handling the "pre-flight" OPTIONS call sent by the browser
                        HttpContext.Current.Response.AddHeader("Access-Control-Allow-Methods", allowedmethods)
                        HttpContext.Current.Response.AddHeader("Access-Control-Allow-Headers", headers)
                        HttpContext.Current.Response.AddHeader("Access-Control-Max-Age", accesscontrolmaxage)
                        HttpContext.Current.Response.AddHeader("ContentType", contenttypeforoptionsrequest)
                        HttpContext.Current.Response.[End]()
                    End If
                End If
            End If
        End If
End Sub     


Private Function IsAllowedDomain(ByVal Domain As String) As Boolean
    If String.IsNullOrEmpty(Domain) Then
        Return False
    End If
    Dim alloweddomains As String() = {"http://www.example.com/", "https://www.example.com/" _
                    , "http://www.example.com", "https://www.example.com"}

    //' you can place comma separated domains here.
    For Each alloweddomain As String In alloweddomains
        If Domain.ToLower() = alloweddomain.ToLower() Then
            Return True
        End If
    Next
    Return False
End Function

However, I still get the error Cross domain javascript callback is not supported in authenticated services.

Here's the trace, now sure which part is relevant, and I was unable to find an XML beautifier that creates better readable code from partial XML (and I'm on my max post length on SO):

<System xmlns="http://schemas.microsoft.com/2004/06/windows/eventlog/system"><EventID>458758</EventID><Type>3</Type><SubType Name="Information">0</SubType><Level>8</Level><TimeCreated SystemTime="2014-11-09T01:59:27.0932946Z" /><Source Name="System.ServiceModel" /><Correlation ActivityID="{7eaf0c72-3964-4958-ba6a-2d50b59f55d3}" /><Execution ProcessName="w3wp" ProcessID="5860" ThreadID="36" /><Channel/><Computer>FLO</Computer></System><ApplicationData><TraceData><DataItem><TraceRecord xmlns="http://schemas.microsoft.com/2004/10/E2ETraceEvent/TraceRecord" Severity="Information"><TraceIdentifier>http://msdn.microsoft.com/nl-NL/library/System.ServiceModel.Security.SecurityImpersonationSuccess.aspx</TraceIdentifier><Description>Security Impersonation succeeded at the server.</Description><AppDomain>/LM/W3SVC/1/ROOT-5-130599719510527924</AppDomain><ExtendedData xmlns="http://schemas.microsoft.com/2006/08/ServiceModel/SecurityImpersonationTraceRecord"><OperationAction>http://tempuri.org/Iweddingservice/getShopItems</OperationAction><OperationName>getShopItems</OperationName></ExtendedData></TraceRecord></DataItem></TraceData></ApplicationData></E2ETraceEvent><E2ETraceEvent xmlns="http://schemas.microsoft.com/2004/06/E2ETraceEvent"><System xmlns="http://schemas.microsoft.com/2004/06/windows/eventlog/system"><EventID>0</EventID><Type>3</Type><SubType Name="Transfer">0</SubType><Level>255</Level><TimeCreated SystemTime="2014-11-09T01:59:27.0932946Z" /><Source Name="System.ServiceModel" /><Correlation ActivityID="{7eaf0c72-3964-4958-ba6a-2d50b59f55d3}" RelatedActivityID="{cfb5bfd4-41eb-48d8-9607-fecc98c568c9}" /><Execution ProcessName="w3wp" ProcessID="5860" ThreadID="36" /><Channel/><Computer>FLO</Computer></System><ApplicationData></ApplicationData></E2ETraceEvent><E2ETraceEvent xmlns="http://schemas.microsoft.com/2004/06/E2ETraceEvent"><System xmlns="http://schemas.microsoft.com/2004/06/windows/eventlog/system"><EventID>131085</EventID><Type>3</Type><SubType Name="Suspend">0</SubType><Level>255</Level><TimeCreated SystemTime="2014-11-09T01:59:27.0932946Z" /><Source Name="System.ServiceModel" /><Correlation ActivityID="{7eaf0c72-3964-4958-ba6a-2d50b59f55d3}" /><Execution ProcessName="w3wp" ProcessID="5860" ThreadID="36" /><Channel/><Computer>FLO</Computer></System><ApplicationData><TraceData><DataItem><TraceRecord xmlns="http://schemas.microsoft.com/2004/10/E2ETraceEvent/TraceRecord" Severity="Suspend"><TraceIdentifier>http://msdn.microsoft.com/nl-NL/library/System.ServiceModel.Diagnostics.ActivityBoundary.aspx</TraceIdentifier><Description>Activity boundary.</Description><AppDomain>/LM/W3SVC/1/ROOT-5-130599719510527924</AppDomain><ExtendedData xmlns="http://schemas.microsoft.com/2006/08/ServiceModel/DictionaryTraceRecord"><ActivityName>Process action ''.</ActivityName><ActivityType>ProcessAction</ActivityType></ExtendedData></TraceRecord></DataItem></TraceData></ApplicationData></E2ETraceEvent><E2ETraceEvent xmlns="http://schemas.microsoft.com/2004/06/E2ETraceEvent"><System xmlns="http://schemas.microsoft.com/2004/06/windows/eventlog/system"><EventID>131085</EventID><Type>3</Type><SubType Name="Start">0</SubType><Level>255</Level><TimeCreated SystemTime="2014-11-09T01:59:27.0932946Z" /><Source Name="System.ServiceModel" /><Correlation ActivityID="{cfb5bfd4-41eb-48d8-9607-fecc98c568c9}" /><Execution ProcessName="w3wp" ProcessID="5860" ThreadID="36" /><Channel/><Computer>FLO</Computer></System><ApplicationData><TraceData><DataItem><TraceRecord xmlns="http://schemas.microsoft.com/2004/10/E2ETraceEvent/TraceRecord" Severity="Start"><TraceIdentifier>http://msdn.microsoft.com/nl-NL/library/System.ServiceModel.Diagnostics.ActivityBoundary.aspx</TraceIdentifier><Description>Activity boundary.</Description><AppDomain>/LM/W3SVC/1/ROOT-5-130599719510527924</AppDomain><ExtendedData xmlns="http://schemas.microsoft.com/2006/08/ServiceModel/DictionaryTraceRecord"><ActivityName>Execute 'RestService.Iweddingservice.getShopItems'.</ActivityName><ActivityType>ExecuteUserCode</ActivityType></ExtendedData></TraceRecord></DataItem></TraceData></ApplicationData></E2ETraceEvent><E2ETraceEvent xmlns="http://schemas.microsoft.com/2004/06/E2ETraceEvent"><System xmlns="http://schemas.microsoft.com/2004/06/windows/eventlog/system"><EventID>0</EventID><Type>3</Type><SubType Name="Transfer">0</SubType><Level>255</Level><TimeCreated SystemTime="2014-11-09T01:59:27.1355943Z" /><Source Name="System.ServiceModel" /><Correlation ActivityID="{cfb5bfd4-41eb-48d8-9607-fecc98c568c9}" RelatedActivityID="{7eaf0c72-3964-4958-ba6a-2d50b59f55d3}" /><Execution ProcessName="w3wp" ProcessID="5860" ThreadID="36" /><Channel/><Computer>FLO</Computer></System><ApplicationData></ApplicationData></E2ETraceEvent><E2ETraceEvent xmlns="http://schemas.microsoft.com/2004/06/E2ETraceEvent"><System xmlns="http://schemas.microsoft.com/2004/06/windows/eventlog/system"><EventID>131085</EventID><Type>3</Type><SubType Name="Stop">0</SubType><Level>255</Level><TimeCreated SystemTime="2014-11-09T01:59:27.1355943Z" /><Source Name="System.ServiceModel" /><Correlation ActivityID="{cfb5bfd4-41eb-48d8-9607-fecc98c568c9}" /><Execution ProcessName="w3wp" ProcessID="5860" ThreadID="36" /><Channel/><Computer>FLO</Computer></System><ApplicationData><TraceData><DataItem><TraceRecord xmlns="http://schemas.microsoft.com/2004/10/E2ETraceEvent/TraceRecord" Severity="Stop"><TraceIdentifier>http://msdn.microsoft.com/nl-NL/library/System.ServiceModel.Diagnostics.ActivityBoundary.aspx</TraceIdentifier><Description>Activity boundary.</Description><AppDomain>/LM/W3SVC/1/ROOT-5-130599719510527924</AppDomain><ExtendedData xmlns="http://schemas.microsoft.com/2006/08/ServiceModel/DictionaryTraceRecord"><ActivityName>Execute 'RestService.Iweddingservice.getShopItems'.</ActivityName><ActivityType>ExecuteUserCode</ActivityType></ExtendedData></TraceRecord></DataItem></TraceData></ApplicationData></E2ETraceEvent><E2ETraceEvent xmlns="http://schemas.microsoft.com/2004/06/E2ETraceEvent"><System xmlns="http://schemas.microsoft.com/2004/06/windows/eventlog/system"><EventID>131085</EventID><Type>3</Type><SubType Name="Resume">0</SubType><Level>255</Level><TimeCreated SystemTime="2014-11-09T01:59:27.1355943Z" /><Source Name="System.ServiceModel" /><Correlation ActivityID="{7eaf0c72-3964-4958-ba6a-2d50b59f55d3}" /><Execution ProcessName="w3wp" ProcessID="5860" ThreadID="36" /><Channel/><Computer>FLO</Computer></System><ApplicationData><TraceData><DataItem><TraceRecord xmlns="http://schemas.microsoft.com/2004/10/E2ETraceEvent/TraceRecord" Severity="Resume"><TraceIdentifier>http://msdn.microsoft.com/nl-NL/library/System.ServiceModel.Diagnostics.ActivityBoundary.aspx</TraceIdentifier><Description>Activity boundary.</Description><AppDomain>/LM/W3SVC/1/ROOT-5-130599719510527924</AppDomain><ExtendedData xmlns="http://schemas.microsoft.com/2006/08/ServiceModel/DictionaryTraceRecord"><ActivityName>Process action ''.</ActivityName><ActivityType>ProcessAction</ActivityType></ExtendedData></TraceRecord></DataItem></TraceData></ApplicationData></E2ETraceEvent><E2ETraceEvent xmlns="http://schemas.microsoft.com/2004/06/E2ETraceEvent"><System xmlns="http://schemas.microsoft.com/2004/06/windows/eventlog/system"><EventID>262164</EventID><Type>3</Type><SubType Name="Information">0</SubType><Level>8</Level><TimeCreated SystemTime="2014-11-09T01:59:27.1596037Z" /><Source Name="System.ServiceModel" /><Correlation ActivityID="{7eaf0c72-3964-4958-ba6a-2d50b59f55d3}" /><Execution ProcessName="w3wp" ProcessID="5860" ThreadID="36" /><Channel/><Computer>FLO</Computer></System><ApplicationData><TraceData><DataItem><TraceRecord xmlns="http://schemas.microsoft.com/2004/10/E2ETraceEvent/TraceRecord" Severity="Information"><TraceIdentifier>http://msdn.microsoft.com/nl-NL/library/System.ServiceModel.Channels.MessageSent.aspx</TraceIdentifier><Description>Sent a message over a channel.</Description><AppDomain>/LM/W3SVC/1/ROOT-5-130599719510527924</AppDomain><Source>System.ServiceModel.Activation.HostedHttpContext+HostedRequestHttpOutput/24339230</Source><ExtendedData xmlns="http://schemas.microsoft.com/2006/08/ServiceModel/MessageTraceRecord"><MessageProperties><Encoder>ByteStreamMessageEncoder</Encoder><AllowOutputBatching>False</AllowOutputBatching></MessageProperties><MessageHeaders></MessageHeaders></ExtendedData></TraceRecord></DataItem></TraceData></ApplicationData></E2ETraceEvent><E2ETraceEvent xmlns="http://schemas.microsoft.com/2004/06/E2ETraceEvent"><System xmlns="http://schemas.microsoft.com/2004/06/windows/eventlog/system"><EventID>131085</EventID><Type>3</Type><SubType Name="Stop">0</SubType><Level>255</Level><TimeCreated SystemTime="2014-11-09T01:59:27.1615922Z" /><Source Name="System.ServiceModel" /><Correlation ActivityID="{7eaf0c72-3964-4958-ba6a-2d50b59f55d3}" /><Execution ProcessName="w3wp" ProcessID="5860" ThreadID="36" /><Channel/><Computer>FLO</Computer></System><ApplicationData><TraceData><DataItem><TraceRecord xmlns="http://schemas.microsoft.com/2004/10/E2ETraceEvent/TraceRecord" Severity="Stop"><TraceIdentifier>http://msdn.microsoft.com/nl-NL/library/System.ServiceModel.Diagnostics.ActivityBoundary.aspx</TraceIdentifier><Description>Activity boundary.</Description><AppDomain>/LM/W3SVC/1/ROOT-5-130599719510527924</AppDomain><ExtendedData xmlns="http://schemas.microsoft.com/2006/08/ServiceModel/DictionaryTraceRecord"><ActivityName>Process action ''.</ActivityName><ActivityType>ProcessAction</ActivityType></ExtendedData></TraceRecord></DataItem></TraceData></ApplicationData></E2ETraceEvent><E2ETraceEvent xmlns="http://schemas.microsoft.com/2004/06/E2ETraceEvent"><System xmlns="http://schemas.microsoft.com/2004/06/windows/eventlog/system"><EventID>262168</EventID><Type>3</Type><SubType Name="Information">0</SubType><Level>8</Level><TimeCreated SystemTime="2014-11-09T02:02:15.7262153Z" /><Source Name="System.ServiceModel" /><Correlation ActivityID="{9b143ba2-aa47-413b-bd29-3dff3da3d4db}" /><Execution ProcessName="w3wp" ProcessID="5860" ThreadID="36" /><Channel/><Computer>FLO</Computer></System><ApplicationData><TraceData><DataItem><TraceRecord xmlns="http://schemas.microsoft.com/2004/10/E2ETraceEvent/TraceRecord" Severity="Information"><TraceIdentifier>http://msdn.microsoft.com/nl-NL/library/System.ServiceModel.Channels.ConnectToIPEndpoint.aspx</TraceIdentifier><Description>Connection information.</Description><AppDomain>/LM/W3SVC/1/ROOT-5-130599719510527924</AppDomain><Source>System.ServiceModel.Activation.HostedHttpTransportManager/43502130</Source><ExtendedData xmlns="http://schemas.microsoft.com/2006/08/ServiceModel/DictionaryTraceRecord"><LocalEndpoint>10.0.0.37:80</LocalEndpoint><RemoteEndpoint>10.0.0.37:64203</RemoteEndpoint></ExtendedData></TraceRecord></DataItem></TraceData></ApplicationData></E2ETraceEvent><E2ETraceEvent xmlns="http://schemas.microsoft.com/2004/06/E2ETraceEvent"><System xmlns="http://schemas.microsoft.com/2004/06/windows/eventlog/system"><EventID>0</EventID><Type>3</Type><SubType Name="Transfer">0</SubType><Level>255</Level><TimeCreated SystemTime="2014-11-09T02:02:15.7262153Z" /><Source Name="System.ServiceModel" /><Correlation ActivityID="{9b143ba2-aa47-413b-bd29-3dff3da3d4db}" RelatedActivityID="{dd5a6292-8955-4616-a0a3-5b88ae8d2e0a}" /><Execution ProcessName="w3wp" ProcessID="5860" ThreadID="36" /><Channel/><Computer>FLO</Computer></System><ApplicationData></ApplicationData></E2ETraceEvent><E2ETraceEvent xmlns="http://schemas.microsoft.com/2004/06/E2ETraceEvent"><System xmlns="http://schemas.microsoft.com/2004/06/windows/eventlog/system"><EventID>131085</EventID><Type>3</Type><SubType Name="Start">0</SubType><Level>255</Level><TimeCreated SystemTime="2014-11-09T02:02:15.7262153Z" /><Source Name="System.ServiceModel" /><Correlation ActivityID="{dd5a6292-8955-4616-a0a3-5b88ae8d2e0a}" /><Execution ProcessName="w3wp" ProcessID="5860" ThreadID="36" /><Channel/><Computer>FLO</Computer></System><ApplicationData><TraceData><DataItem><TraceRecord xmlns="http://schemas.microsoft.com/2004/10/E2ETraceEvent/TraceRecord" Severity="Start"><TraceIdentifier>http://msdn.microsoft.com/nl-NL/library/System.ServiceModel.Diagnostics.ActivityBoundary.aspx</TraceIdentifier><Description>Activity boundary.</Description><AppDomain>/LM/W3SVC/1/ROOT-5-130599719510527924</AppDomain><ExtendedData xmlns="http://schemas.microsoft.com/2006/08/ServiceModel/DictionaryTraceRecord"><ActivityName>Process action ''.</ActivityName><ActivityType>ProcessAction</ActivityType></ExtendedData></TraceRecord></DataItem></TraceData></ApplicationData></E2ETraceEvent><E2ETraceEvent xmlns="http://schemas.microsoft.com/2004/06/E2ETraceEvent"><System xmlns="http://schemas.microsoft.com/2004/06/windows/eventlog/system"><EventID>262163</EventID><Type>3</Type><SubType Name="Information">0</SubType><Level>8</Level><TimeCreated SystemTime="2014-11-09T02:02:15.7262153Z" /><Source Name="System.ServiceModel" /><Correlation ActivityID="{dd5a6292-8955-4616-a0a3-5b88ae8d2e0a}" /><Execution ProcessName="w3wp" ProcessID="5860" ThreadID="36" /><Channel/><Computer>FLO</Computer></System><ApplicationData><TraceData><DataItem><TraceRecord xmlns="http://schemas.microsoft.com/2004/10/E2ETraceEvent/TraceRecord" Severity="Information"><TraceIdentifier>http://msdn.microsoft.com/nl-NL/library/System.ServiceModel.Channels.MessageReceived.aspx</TraceIdentifier><Description>Received a message over a channel.</Description><AppDomain>/LM/W3SVC/1/ROOT-5-130599719510527924</AppDomain><Source>System.ServiceModel.Activation.HostedHttpContext+HostedHttpInput/2666667</Source><ExtendedData xmlns="http://schemas.microsoft.com/2006/08/ServiceModel/MessageTransmitTraceRecord"><MessageProperties><AllowOutputBatching>False</AllowOutputBatching><Via>http://flo/weddingservice.svc/getshopitems/?newurl=http://www.nl/trouwshop/bedankdoosjes</Via></MessageProperties><MessageHeaders><To d4p1:mustUnderstand="1" xmlns:d4p1="http://schemas.microsoft.com/ws/2005/05/envelope/none" xmlns="http://schemas.microsoft.com/ws/2005/05/addressing/none">http://flo/weddingservice.svc/getshopitems/?newurl=http://www.nl/trouwshop/bedankdoosjes</To></MessageHeaders></ExtendedData></TraceRecord></DataItem></TraceData></ApplicationData></E2ETraceEvent><E2ETraceEvent xmlns="http://schemas.microsoft.com/2004/06/E2ETraceEvent"><System xmlns="http://schemas.microsoft.com/2004/06/windows/eventlog/system"><EventID>262163</EventID><Type>3</Type><SubType Name="Information">0</SubType><Level>8</Level><TimeCreated SystemTime="2014-11-09T02:02:15.7262153Z" /><Source Name="System.ServiceModel" /><Correlation ActivityID="{9b143ba2-aa47-413b-bd29-3dff3da3d4db}" /><Execution ProcessName="w3wp" ProcessID="5860" ThreadID="36" /><Channel/><Computer>FLO</Computer></System><ApplicationData><TraceData><DataItem><TraceRecord xmlns="http://schemas.microsoft.com/2004/10/E2ETraceEvent/TraceRecord" Severity="Information"><TraceIdentifier>http://msdn.microsoft.com/nl-NL/library/System.ServiceModel.Channels.MessageReceived.aspx</TraceIdentifier><Description>Received a message over a channel.</Description><AppDomain>/LM/W3SVC/1/ROOT-5-130599719510527924</AppDomain><Source>System.ServiceModel.Channels.TransportReplyChannelAcceptor/9642931</Source><ExtendedData xmlns="http://schemas.microsoft.com/2006/08/ServiceModel/MessageTransmitTraceRecord"><MessageProperties><AllowOutputBatching>False</AllowOutputBatching><Via>http://flo/weddingservice.svc/getshopitems/?newurl=http://www.nl/trouwshop/bedankdoosjes</Via></MessageProperties><MessageHeaders><To d4p1:mustUnderstand="1" xmlns:d4p1="http://schemas.microsoft.com/ws/2005/05/envelope/none" xmlns="http://schemas.microsoft.com/ws/2005/05/addressing/none">http://flo/weddingservice.svc/getshopitems/?newurl=http://www.nl/trouwshop/bedankdoosjes</To></MessageHeaders></ExtendedData></TraceRecord></DataItem></TraceData></ApplicationData></E2ETraceEvent><E2ETraceEvent xmlns="http://schemas.microsoft.com/2004/06/E2ETraceEvent"><System xmlns="http://schemas.microsoft.com/2004/06/windows/eventlog/system"><EventID>983077</EventID><Type>3</Type><SubType Name="Information">0</SubType><Level>8</Level><TimeCreated SystemTime="2014-11-09T02:02:15.7262153Z" /><Source Name="System.ServiceModel" /><Correlation ActivityID="{dd5a6292-8955-4616-a0a3-5b88ae8d2e0a}" /><Execution ProcessName="w3wp" ProcessID="5860" ThreadID="36" /><Channel/><Computer>FLO</Computer></System><ApplicationData><TraceData><DataItem><TraceRecord xmlns="http://schemas.microsoft.com/2004/10/E2ETraceEvent/TraceRecord" Severity="Information"><TraceIdentifier>http://msdn.microsoft.com/nl-NL/library/.WebRequestMatchesOperation.aspx</TraceIdentifier><Description>Incoming HTTP request to URI 'http://flo/weddingservice.svc/getshopitems/?newurl=http://www.nl/trouwshop/bedankdoosjes' matched operation 'getShopItems'.</Description><AppDomain>/LM/W3SVC/1/ROOT-5-130599719510527924</AppDomain><Source>System.String/33588939</Source></TraceRecord></DataItem></TraceData></ApplicationData></E2ETraceEvent><E2ETraceEvent xmlns="http://schemas.microsoft.com/2004/06/E2ETraceEvent"><System xmlns="http://schemas.microsoft.com/2004/06/windows/eventlog/system"><EventID>131075</EventID><Type>3</Type><SubType Name="Error">0</SubType><Level>2</Level><TimeCreated SystemTime="2014-11-09T02:02:15.7272158Z" /><Source Name="System.ServiceModel" /><Correlation ActivityID="{dd5a6292-8955-4616-a0a3-5b88ae8d2e0a}" /><Execution ProcessName="w3wp" ProcessID="5860" ThreadID="36" /><Channel/><Computer>FLO</Computer></System><ApplicationData><TraceData><DataItem><TraceRecord xmlns="http://schemas.microsoft.com/2004/10/E2ETraceEvent/TraceRecord" Severity="Error"><TraceIdentifier>http://msdn.microsoft.com/nl-NL/library/System.ServiceModel.Diagnostics.ThrowingException.aspx</TraceIdentifier><Description>Throwing an exception.</Description><AppDomain>/LM/W3SVC/1/ROOT-5-130599719510527924</AppDomain><Exception><ExceptionType>System.NotSupportedException, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</ExceptionType><Message>Cross domain javascript callback is not supported in authenticated services.</Message><StackTrace>   at System.ServiceModel.Dispatcher.JavascriptCallbackMessageInspector.AfterReceiveRequest(Message&amp;amp; request, IClientChannel channel, InstanceContext instanceContext)
       at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.AfterReceiveRequestCore(MessageRpc&amp;amp; rpc)
       at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage2(MessageRpc&amp;amp; rpc)
       at System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet)
       at System.ServiceModel.Dispatcher.ChannelHandler.DispatchAndReleasePump(RequestContext request, Boolean cleanThread, OperationContext currentOperationContext)
       at System.ServiceModel.Dispatcher.ChannelHandler.HandleRequest(RequestContext request, OperationContext currentOperationContext)
       at System.ServiceModel.Dispatcher.ChannelHandler.AsyncMessagePump(IAsyncResult result)
       at System.Runtime.Fx.AsyncThunk.UnhandledExceptionFrame(IAsyncResult result)
       at System.ServiceModel.Diagnostics.TraceUtility.&amp;lt;&amp;gt;c__DisplayClass4.&amp;lt;CallbackGenerator&amp;gt;b__2(AsyncCallback callback, IAsyncResult result)
       at System.Runtime.AsyncResult.Complete(Boolean completedSynchronously)
       at System.Runtime.InputQueue`1.AsyncQueueReader.Set(Item item)
       at System.Runtime.InputQueue`1.EnqueueAndDispatch(Item item, Boolean canDispatchOnThisThread)
       at System.Runtime.InputQueue`1.EnqueueAndDispatch(T item, Action dequeuedCallback, Boolean canDispatchOnThisThread)
       at System.ServiceModel.Channels.SingletonChannelAcceptor`3.Enqueue(QueueItemType item, Action dequeuedCallback, Boolean canDispatchOnThisThread)
       at System.ServiceModel.Channels.HttpPipeline.EnqueueMessageAsyncResult.CompleteParseAndEnqueue(IAsyncResult result)
       at System.ServiceModel.Channels.HttpPipeline.EnqueueMessageAsyncResult.HandleParseIncomingMessage(IAsyncResult result)
       at System.Runtime.AsyncResult.SyncContinue(IAsyncResult result)
       at System.ServiceModel.Channels.HttpPipeline.EmptyHttpPipeline.BeginProcessInboundRequest(ReplyChannelAcceptor replyChannelAcceptor, Action dequeuedCallback, AsyncCallback callback, Object state)
       at System.ServiceModel.Channels.HttpChannelListener`1.HttpContextReceivedAsyncResult`1.ProcessHttpContextAsync()
       at System.ServiceModel.Channels.HttpChannelListener`1.BeginHttpContextReceived(HttpRequestContext context, Action acceptorCallback, AsyncCallback callback, Object state)
       at System.ServiceModel.Activation.HostedHttpTransportManager.HttpContextReceived(HostedHttpRequestAsyncResult result)
       at System.ServiceModel.Activation.HostedHttpRequestAsyncResult.HandleRequest()
       at System.ServiceModel.Activation.HostedHttpRequestAsyncResult.BeginRequest()
       at System.ServiceModel.Activation.HostedHttpRequestAsyncResult.OnBeginRequest(Object state)
       at System.ServiceModel.AspNetPartialTrustHelpers.PartialTrustInvoke(ContextCallback callback, Object state)
       at System.ServiceModel.Activation.HostedHttpRequestAsyncResult.OnBeginRequestWithFlow(Object state)
       at System.Runtime.IOThreadScheduler.ScheduledOverlapped.IOCallback(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* nativeOverlapped)
       at System.Runtime.Fx.IOCompletionThunk.UnhandledExceptionFrame(UInt32 error, UInt32 bytesRead, NativeOverlapped* nativeOverlapped)
       at System.Threading._IOCompletionCallback.PerformIOCompletionCallback(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* pOVERLAP)
    </StackTrace><ExceptionString>System.NotSupportedException: Cross domain javascript callback is not supported in authenticated services.</ExceptionString></Exception></TraceRecord></DataItem></TraceData></ApplicationData></E2ETraceEvent><E2ETraceEvent xmlns="http://schemas.microsoft.com/2004/06/E2ETraceEvent"><System xmlns="http://schemas.microsoft.com/2004/06/windows/eventlog/system"><EventID>131076</EventID><Type>3</Type><SubType Name="Error">0</SubType><Level>2</Level><TimeCreated SystemTime="2014-11-09T02:02:15.7292163Z" /><Source Name="System.ServiceModel" /><Correlation ActivityID="{dd5a6292-8955-4616-a0a3-5b88ae8d2e0a}" /><Execution ProcessName="w3wp" ProcessID="5860" ThreadID="36" /><Channel/><Computer>FLO</Computer></System><ApplicationData><TraceData><DataItem><TraceRecord Severity="Error" Channel="Operational" xmlns="http://schemas.microsoft.com/2004/10/E2ETraceEvent/TraceRecord"><TraceIdentifier>http://msdn.microsoft.com/nl-NL/library/System.ServiceModel.Diagnostics.TraceHandledException.aspx</TraceIdentifier><Description>Handling an exception. Exception details: System.NotSupportedException: Cross domain javascript callback is not supported in authenticated services.
       at System.ServiceModel.Dispatcher.JavascriptCallbackMessageInspector.AfterReceiveRequest(Message&amp; request, IClientChannel channel, InstanceContext instanceContext)
       at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.AfterReceiveRequestCore(MessageRpc&amp; rpc)
       at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage2(MessageRpc&amp; rpc)
       at System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet)</Description><AppDomain>/LM/W3SVC/1/ROOT-5-130599719510527924</AppDomain><Exception><ExceptionType>System.NotSupportedException, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</ExceptionType><Message>Cross domain javascript callback is not supported in authenticated services.</Message><StackTrace>   at System.ServiceModel.Dispatcher.JavascriptCallbackMessageInspector.AfterReceiveRequest(Message&amp;amp; request, IClientChannel channel, InstanceContext instanceContext)
       at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.AfterReceiveRequestCore(MessageRpc&amp;amp; rpc)
       at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage2(MessageRpc&amp;amp; rpc)
       at System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet)</StackTrace><ExceptionString>System.NotSupportedException: Cross domain javascript callback is not supported in authenticated services.
       at System.ServiceModel.Dispatcher.JavascriptCallbackMessageInspector.AfterReceiveRequest(Message&amp;amp; request, IClientChannel channel, InstanceContext instanceContext)
       at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.AfterReceiveRequestCore(MessageRpc&amp;amp; rpc)
       at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage2(MessageRpc&amp;amp; rpc)
       at System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet)</ExceptionString></Exception></TraceRecord></DataItem></TraceData></ApplicationData></E2ETraceEvent><E2ETraceEvent xmlns="http://schemas.microsoft.com/2004/06/E2ETraceEvent"><System xmlns="http://schemas.microsoft.com/2004/06/windows/eventlog/system"><EventID>262164</EventID><Type>3</Type><SubType Name="Information">0</SubType><Level>8</Level><TimeCreated SystemTime="2014-11-09T02:02:15.7302173Z" /><Source Name="System.ServiceModel" /><Correlation ActivityID="{dd5a6292-8955-4616-a0a3-5b88ae8d2e0a}" /><Execution ProcessName="w3wp" ProcessID="5860" ThreadID="36" /><Channel/><Computer>FLO</Computer></System><ApplicationData><TraceData><DataItem><TraceRecord xmlns="http://schemas.microsoft.com/2004/10/E2ETraceEvent/TraceRecord" Severity="Information"><TraceIdentifier>http://msdn.microsoft.com/nl-NL/library/System.ServiceModel.Channels.MessageSent.aspx</TraceIdentifier><Description>Sent a message over a channel.</Description><AppDomain>/LM/W3SVC/1/ROOT-5-130599719510527924</AppDomain><Source>System.ServiceModel.Activation.HostedHttpContext+HostedRequestHttpOutput/61789146</Source><ExtendedData xmlns="http://schemas.microsoft.com/2006/08/ServiceModel/MessageTraceRecord"><MessageProperties><Encoder>ByteStreamMessageEncoder</Encoder><AllowOutputBatching>False</AllowOutputBatching></MessageProperties><MessageHeaders></MessageHeaders></ExtendedData></TraceRecord></DataItem></TraceData></ApplicationData></E2ETraceEvent><E2ETraceEvent xmlns="http://schemas.microsoft.com/2004/06/E2ETraceEvent"><System xmlns="http://schemas.microsoft.com/2004/06/windows/eventlog/system"><EventID>131085</EventID><Type>3</Type><SubType Name="Stop">0</SubType><Level>255</Level><TimeCreated SystemTime="2014-11-09T02:02:15.7302173Z" /><Source Name="System.ServiceModel" /><Correlation ActivityID="{dd5a6292-8955-4616-a0a3-5b88ae8d2e0a}" /><Execution ProcessName="w3wp" ProcessID="5860" ThreadID="36" /><Channel/><Computer>FLO</Computer></System><ApplicationData><TraceData><Dat
Community
  • 1
  • 1
Adam
  • 6,041
  • 36
  • 120
  • 208
  • Read this - https://social.msdn.microsoft.com/Forums/vstudio/en-US/634bb3b1-8396-4dee-8247-1fb2649c9af1/wcf-4-and-jsonp-and-aspnetcompatibilityenabled?forum=wcf, http://forums.asp.net/t/1613902.aspx?Cross+domain+javascript+callback+is+not+supported+in+authenticated+services+ ,http://jeremybranham.wordpress.com/2011/11/11/authenticated-wcf-service-that-returns-jsonp/ Are you using `jsonp` in javascript to invoke `WCF` – Arindam Nayak Nov 09 '14 at 07:08
  • Ok, after reading that: 1. I need support to call my services from other domains, so I guess that makes the property `crossDomainScriptAccessEnabled="true"` required? 2. because I'm calling the services cross-domain I need jsonp? 3. with jsonp I always need to provide a callback url? Because I altered my current service's datatype from `json` to `jsonp` and now suddenly a `callback` parameter is added to my requests. – Adam Nov 09 '14 at 21:41
  • when you use `jsonp`, it will automatically append `callback` param, and `jsonp` is meant for cross domain only. So when you use `authenticated wcf` call, and used `jsonp`, then either you need to set `crossDomainScriptAccessEnabled` = `false`, or don't use `jsonp` at all, or change `forms authentication` to some other say `oAuth` or something other. – Arindam Nayak Nov 10 '14 at 04:59
  • But without jsonp I can't do authenticated cross-domain calls? – Adam Nov 10 '14 at 15:33
  • If you can create a MCVE example (http://stackoverflow.com/help/mcve) and drop that (http://pastebin.com/), that will very helpful for me to start with debugging this for you. – Arindam Nayak Nov 10 '14 at 16:43
  • Ok, that will take me some time, but I'll start putting something together. Your offer is very much appreciated! – Adam Nov 10 '14 at 19:18
  • I am not able to attach `DB` ( i have `11.0.3000`, where as yours `12.0.2000`), so i am not able to work with the solution given, But roughly looking at the code, i have suggestion - you should not mix `wcf service` code with `MVC` or `web form` , you should have separate solution for `wcf service`, and main purpose of `service based app` is to enable consumption of `service` via multiple app, so if you separate that, i don't think you will face issue with `wcf invoke with authentication`. – Arindam Nayak Nov 11 '14 at 20:03
  • I'm using SQL Server Express, it's free, so maybe you could try that? Are you saying I should create a stand-alone solution for just my service? Would that be project type 'WCF Service Application'? – Adam Nov 11 '14 at 23:33
  • I have a constraint, and i can't upgrade to `sql server 2014`, i think you had used this , whereas i am using `2012`. But yes, i was suggesting to move `wcf` service to separate project and it can be `WCF Service Application` too! – Arindam Nayak Nov 12 '14 at 05:50
  • Alright, I'll try that :) And yes, I was using 2014. – Adam Nov 12 '14 at 14:59

0 Answers0