SSL WCF Service Issues - Value cannot be null

This is my first time that I’m trying to setup a service to require SSL connections.  The service is accessible but when I try to run one of the methods (Using both WCF Test Client as well as a Web application) I get this error:


Failed to invoke the service. Possible causes: The service is offline or inaccessible; the client-side configuration does not match the proxy; the existing proxy is invalid. Refer to the stack trace for more detail. You can try to recover by starting a new proxy, restoring to default configuration, or refreshing the service.

Value cannot be null.
Parameter name: context

Server stack trace:
   at System.ServiceModel.Channels.ServiceChannel.ThrowIfFaultUnderstood(Message reply, MessageFault fault, String action, MessageVersion version, FaultConverter faultConverter)
   at System.ServiceModel.Channels.ServiceChannel.HandleReply(ProxyOperationRuntime operation, ProxyRpc& rpc)
   at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout)
   at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs)
   at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation)
   at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)

Exception rethrown at [0]:
   at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
   at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
   at IeSearchServices.GetOrderStatus(String AccountKey, Int32 ItemId)
   at IeSearchServicesClient.GetOrderStatus(String AccountKey, Int32 ItemId)



I’ve tried many of the different “fixes” online with no luck so far.  Any ideas would be appreciated.  Please let me know if additional information would help.

Thanks,
Greg


Server config file information:

<system.serviceModel>

    <services>

        <service name="eSearchServices.eSearchServices">
        <endpoint address=""
                  binding="basicHttpBinding"
                  bindingConfiguration="secureHttpBinding"
                  contract="eSearchServices.IeSearchServices"/>

        <!--<endpoint address="mex"
                  binding="mexHttpsBinding"
                  contract="IMetadataExchange" />-->
          
      </service>

    </services>

    <bindings>

      <basicHttpBinding>
        <binding name="secureHttpBinding">
          <security mode="Transport">
            <transport clientCredentialType="None"/>
          </security>
        </binding>
      </basicHttpBinding>
     

    </bindings>

    <behaviors>
      <serviceBehaviors>
        <behavior>
         <!-- To avoid disclosing metadata information, set the value below to false and remove the metadata endpoint above before deployment -->
          <serviceMetadata httpsGetEnabled="true"/>
          <!-- To receive exception details in faults for debugging purposes, set the value below to true.  Set to false before deployment to avoid disclosing exception information -->
          <serviceDebug includeExceptionDetailInFaults="true"/>
        </behavior>
      </serviceBehaviors>
    </behaviors>
    <serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
    
  </system.serviceModel>

Open in new window

Greg_L_WERAsked:
Who is Participating?
 
YZlatConnect With a Mentor Commented:
try adding behaviorConfguration attribute to your <service> element:

<service name="eSearchServices.eSearchServices" behaviorConfiguration="secureBehavior">

Open in new window


and add a behavior names "secureBehavior" to <behaviors> element. Try something like this:

<behavior name="secureBehavior">
          <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true"/>
          <serviceDebug includeExceptionDetailInFaults="false"/>
          <serviceAuthenticationManager authenticationSchemes="Basic"/>
        </behavior>

Open in new window

0
 
Greg_L_WERAuthor Commented:
Thanks for the quick reply YZlat!  Unfortunately I'm still getting the same error message...This is the updated config section.  I turned on includeExceptionDetailInFaults to help troubleshoot for now.

Thanks again,
Greg


<system.serviceModel>

    <services>

      <service name="eSearchServices.eSearchServices" behaviorConfiguration="secureBehavior">
        <endpoint address=""
                  binding="basicHttpBinding"
                  bindingConfiguration="secureHttpBinding"
                  contract="eSearchServices.IeSearchServices"/>

      </service>
    </services>

    <bindings>

      <basicHttpBinding>
        <binding name="secureHttpBinding">
          <security mode="Transport">
            <transport clientCredentialType="None"/>
          </security>
        </binding>
      </basicHttpBinding>

    </bindings>

    <behaviors>
      <serviceBehaviors>

        <behavior name="secureBehavior">
          <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true"/>
          <serviceDebug includeExceptionDetailInFaults="true"/>
          <!--<serviceDebug includeExceptionDetailInFaults="false"/>-->
          <serviceAuthenticationManager authenticationSchemes="Basic"/>
        </behavior>

      </serviceBehaviors>
    </behaviors>
    <serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
    
    
  </system.serviceModel>

Open in new window

0
 
Greg_L_WERAuthor Commented:
Thank again YZlat!  Looks like it did work after-all.  Your changes led me to another issue that once I solved it seems to have everything working properly.  One follow-up question for you... how can I check that the information being sent/received from the service is in fact encrypted?

 Thanks,
 Greg
0
Cloud Class® Course: Microsoft Office 2010

This course will introduce you to the interfaces and features of Microsoft Office 2010 Word, Excel, PowerPoint, Outlook, and Access. You will learn about the features that are shared between all products in the Office suite, as well as the new features that are product specific.

 
YZlatCommented:
What happens if you look at it in fiddler?
0
 
YZlatCommented:
Also you could try enabling message logging
0
 
Greg_L_WERAuthor Commented:
Hmmm... not a program that I've used yet... looks promising.  I'll give it a try.  Thanks for the idea and help earlier :)
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.