London Dev Meetup Rescheduled! Due to unavoidable reasons, the event has been moved to 21st May. Speakers remain the same—any changes will be communicated. Seats are limited—register here to secure your spot!

Remote event binding throwing a configuration error

Vote:
 

I'm getting the following error when running our front end site after upgrading CMS and Commerce to 11.7 and 12.2 respectively.

The binding at system.serviceModel/bindings/customBinding does not have a configured binding named 'RemoteEventsBinding'. This is an invalid value for bindingConfiguration.

Line 718:      
Line 719:      
Line 720:        
Line 721:      
Line 722:    
#193590
May 31, 2018 19:04
Vote:
 

Here is the entire serviceModel section of web.config

<system.serviceModel>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" />
<extensions>
<bindingElementExtensions>
<add name="udpTransportCustom" type="Microsoft.ServiceModel.Samples.UdpTransportElement, EPiServer.Framework.AspNet" />
</bindingElementExtensions>
</extensions>
<services>
<service name="EPiServer.Business.Commerce.Services.ProductRating" behaviorConfiguration="CommerceSiteBehavior">
<endpoint address="" binding="webHttpBinding" contract="EPiServer.Business.Commerce.Services.IProductRating" behaviorConfiguration="CommerceSiteBehavior" />
</service>
<service name="EPiServer.Business.Commerce.Services.ProductComment" behaviorConfiguration="CommerceSiteBehavior">
<endpoint address="" binding="webHttpBinding" contract="EPiServer.Business.Commerce.Services.IProductComment" behaviorConfiguration="CommerceSiteBehavior" />
</service>
<service name="EPiServer.Events.Remote.EventReplication" behaviorConfiguration="DebugServiceBehaviour">
<endpoint name="RemoteEventServiceEndPoint" contract="EPiServer.Events.ServiceModel.IEventReplication" binding="customBinding" bindingConfiguration="RemoteEventsBinding" address="soap.udp://<SOME_IP_ADDRESS>/RemoteEventService" />
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="DebugServiceBehaviour">
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
<behavior name="CommerceSiteBehavior">
<serviceMetadata httpGetEnabled="true" />
<!--TODO: the option should be only in test environment true in the production should be false-->
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
</serviceBehaviors>
<endpointBehaviors>
<behavior name="CommerceSiteBehavior">
<webHttp />
</behavior>
</endpointBehaviors>
</behaviors>
<bindings>
<webHttpBinding>
<binding name="IndexingServiceCustomBinding" maxBufferPoolSize="1073741824" maxReceivedMessageSize="2147483647" maxBufferSize="2147483647">
<readerQuotas maxStringContentLength="10000000" />
</binding>
</webHttpBinding>
</bindings>
<client>
<endpoint name="RemoteEventServiceClientEndPoint" address="soap.udp://<SOME_IP_ADDRESS>/RemoteEventService" binding="customBinding" bindingConfiguration="RemoteEventsBinding" contract="EPiServer.Events.ServiceModel.IEventReplication" />
</client>
</system.serviceModel>

#193591
May 31, 2018 19:11
Vote:
 

Is this event system even used anymore?

#193592
May 31, 2018 19:13
Vote:
 

This is the setting that works

  <system.serviceModel>
    <serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" />
    <extensions>
      <bindingElementExtensions>
        <add name="udpTransportCustom" type="Microsoft.ServiceModel.Samples.UdpTransportElement, EPiServer.Framework.AspNet" />
      </bindingElementExtensions>
    </extensions>
    <services>
      <service name="EPiServer.Events.Remote.EventReplication" behaviorConfiguration="DebugServiceBehaviour">
        <endpoint name="RemoteEventServiceEndPoint" contract="EPiServer.Events.ServiceModel.IEventReplication" binding="customBinding" bindingConfiguration="RemoteEventsBinding" address="soap.udp://239.255.255.19:5000/RemoteEventService" />
      </service>
    </services>
    <client>
      <endpoint name="RemoteEventServiceClientEndPoint" address="soap.udp://239.255.255.19:5000/RemoteEventService" binding="customBinding" bindingConfiguration="RemoteEventsBinding" contract="EPiServer.Events.ServiceModel.IEventReplication" />
    </client>
    <behaviors>
      <serviceBehaviors>
        <behavior name="DebugServiceBehaviour">
          <serviceDebug includeExceptionDetailInFaults="true" />
          <!--TODO: This option should only be enabled in test environments. It should be disabled for any site in production.-->
        </behavior>
        <behavior name="CommerceSiteBehavior">
          <serviceMetadata httpGetEnabled="true" />
          <serviceDebug includeExceptionDetailInFaults="true" />
        </behavior>
      </serviceBehaviors>
      <endpointBehaviors>
        <behavior name="CommerceSiteBehavior">
          <webHttp />
        </behavior>
      </endpointBehaviors>
    </behaviors>
    <bindings>
      <customBinding>
        <binding name="RemoteEventsBinding">
          <binaryMessageEncoding />
          <udpTransportCustom multicast="True" />
        </binding>
      </customBinding>
    </bindings>
    <!-- Enable remote service -->
  </system.serviceModel>

Think you might be missing this

<bindings>
<customBinding>
<binding name="RemoteEventsBinding">
<binaryMessageEncoding />
<udpTransportCustom multicast="True" />
</binding>
</customBinding>
</bindings>
#193593
Edited, May 31, 2018 19:16
Vote:
 

Quan, I need to buy you a case of beer my man, the configuration you posted solved my issue.  I've now gotten to the migration steps... hallelujah

Thanks

#193594
May 31, 2018 19:20
This topic was created over six months ago and has been resolved. If you have a similar question, please create a new topic and refer to this one.
* You are NOT allowed to include any hyperlinks in the post because your account hasn't associated to your company. User profile should be updated.