Hi,
I'm trying to send custom data to WCF web site from a client application. It doesn't work when I try to send probably large amount of data.
The instruction that fails is:
roleCliente.SaveStructure(role, ref s);
"role" contains a list of custom objects; the instruction works correctly when the list is enough short.
The server side web.config is:
<configuration>
<system.web>
<compilation debug="true" targetFramework="4.0"/>
<httpRuntime maxQueryStringLength="2097151"/>
</system.web>
<system.diagnostics>
<sources>
<source name="System.ServiceModel" switchValue="All">
<listeners>
<add name="xmlTraceListener" />
</listeners>
</source>
<source name="System.ServiceModel.MessageLogging" switchValue="All">
<listeners>
<add name="xmlTraceListener" />
</listeners>
</source>
</sources>
<sharedListeners>
<add name="xmlTraceListener" type="System.Diagnostics.XmlWriterTraceListener" initializeData="ClientLogBasic.svclog" />
</sharedListeners>
<trace autoflush="true" />
</system.diagnostics>
<system.serviceModel>
<diagnostics>
<messageLogging maxMessagesToLog="10000" logEntireMessage="true" logMessagesAtServiceLevel="true" logMalformedMessages="true" logMessagesAtTransportLevel="true">
<filters>
<clear/>
</filters>
</messageLogging>
</diagnostics>
<behaviors>
<endpointBehaviors>
<behavior name="EndPointBehavior">
<dataContractSerializer maxItemsInObjectGraph="2147483647" />
</behavior>
</endpointBehaviors>
<serviceBehaviors>
<behavior name="ServiceBehaviour">
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="true" />
<dataContractSerializer maxItemsInObjectGraph="2147483647" />
</behavior>
</serviceBehaviors>
</behaviors>
<bindings>
<basicHttpBinding>
<binding name="CustomBinding" closeTimeout="00:10:00" openTimeout="00:10:00"
sendTimeout="00:10:00" maxBufferSize="2147483647" maxBufferPoolSize="2147483647"
maxReceivedMessageSize="2147483647">
<readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647"
maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
</binding>
</basicHttpBinding>
</bindings>
<services>
<service behaviorConfiguration="ServiceBehaviour" name="ServiceReference1.WCFAgency">
<endpoint address="http://193.205.191.6/WCFSiretCM/WCFSiretCM.svc"
behaviorConfiguration="EndPointBehavior" binding="basicHttpBinding"
bindingConfiguration="CustomBinding" name="WCFAgency" contract="ServiceReference1.IWCFAgency" />
</service>
<service behaviorConfiguration="ServiceBehaviour" name="ServiceReference1.WCFCompetence">
<endpoint address="http://193.205.191.6/WCFSiretCM/WCFSiretCM.svc"
behaviorConfiguration="EndPointBehavior" binding="basicHttpBinding"
bindingConfiguration="CustomBinding" name="WCFCompetence" contract="ServiceReference1.IWCFCompetence" />
</service>
<service behaviorConfiguration="ServiceBehaviour" name="ServiceReference1.WCFCompetenceScheme">
<endpoint address="http://193.205.191.6/WCFSiretCM/WCFSiretCM.svc"
behaviorConfiguration="EndPointBehavior" binding="basicHttpBinding"
bindingConfiguration="CustomBinding" name="WCFCompetenceScheme"
contract="ServiceReference1.IWCFCompetenceScheme" />
</service>
<service behaviorConfiguration="ServiceBehaviour" name="ServiceReference1.WCFPerson">
<endpoint address="http://193.205.191.6/WCFSiretCM/WCFSiretCM.svc"
behaviorConfiguration="EndPointBehavior" binding="basicHttpBinding"
bindingConfiguration="CustomBinding" name="WCFPerson" contract="ServiceReference1.IWCFCompetenceScheme" />
</service>
<service behaviorConfiguration="ServiceBehaviour" name="ServiceReference1.WCFCertificate">
<endpoint address="http://193.205.191.6/WCFSiretCM/WCFSiretCM.svc"
behaviorConfiguration="EndPointBehavior" binding="basicHttpBinding"
bindingConfiguration="CustomBinding" name="WCFCertificate" contract="ServiceReference1.IWCFCertificate" />
</service>
<service behaviorConfiguration="ServiceBehaviour" name="ServiceReference1.WCFAttitude">
<endpoint address="http://193.205.191.6/WCFSiretCM/WCFSiretCM.svc"
behaviorConfiguration="EndPointBehavior" binding="basicHttpBinding"
bindingConfiguration="CustomBinding" name="WCFAttitude" contract="ServiceReference1.IWCFAttitude" />
</service>
<service behaviorConfiguration="ServiceBehaviour" name="ServiceReference1.WCFClassificationType">
<endpoint address="http://193.205.191.6/WCFSiretCM/WCFSiretCM.svc"
behaviorConfiguration="EndPointBehavior" binding="basicHttpBinding"
bindingConfiguration="CustomBinding" name="WCFClassificationType"
contract="ServiceReference1.IWCFClassificationType" />
</service>
<service behaviorConfiguration="ServiceBehaviour" name="ServiceReference1.WCFCompetenceDetail">
<endpoint address="http://193.205.191.6/WCFSiretCM/WCFSiretCM.svc"
behaviorConfiguration="EndPointBehavior" binding="basicHttpBinding"
bindingConfiguration="CustomBinding" name="WCFCompetenceDetail"
contract="ServiceReference1.IWCFCompetenceDetail" />
</service>
<service behaviorConfiguration="ServiceBehaviour" name="ServiceReference1.WCFCompetencyDetail">
<endpoint address="http://193.205.191.6/WCFSiretCM/WCFSiretCM.svc"
behaviorConfiguration="EndPointBehavior" binding="basicHttpBinding"
bindingConfiguration="CustomBinding" name="WCFCompetencyDetail"
contract="ServiceReference1.IWCFCompetencyDetail" />
</service>
<service behaviorConfiguration="ServiceBehaviour" name="ServiceReference1.WCFCompetencyScheme">
<endpoint address="http://193.205.191.6/WCFSiretCM/WCFSiretCM.svc"
behaviorConfiguration="EndPointBehavior" binding="basicHttpBinding"
bindingConfiguration="CustomBinding" name="WCFCompetencyScheme"
contract="ServiceReference1.IWCFCompetencyScheme" />
</service>
<service behaviorConfiguration="ServiceBehaviour" name="ServiceReference1.WCFContext">
<endpoint address="http://193.205.191.6/WCFSiretCM/WCFSiretCM.svc"
behaviorConfiguration="EndPointBehavior" binding="basicHttpBinding"
bindingConfiguration="CustomBinding" name="WCFContext" contract="ServiceReference1.IWCFContext" />
</service>
<service behaviorConfiguration="ServiceBehaviour" name="ServiceReference1.WCFEducation">
<endpoint address="http://193.205.191.6/WCFSiretCM/WCFSiretCM.svc"
behaviorConfiguration="EndPointBehavior" binding="basicHttpBinding"
bindingConfiguration="CustomBinding" name="WCFEducation" contract="ServiceReference1.IWCFEducation" />
</service>
<service behaviorConfiguration="ServiceBehaviour" name="ServiceReference1.WCFEvidence">
<endpoint address="http://193.205.191.6/WCFSiretCM/WCFSiretCM.svc"
behaviorConfiguration="EndPointBehavior" binding="basicHttpBinding"
bindingConfiguration="CustomBinding" name="WCFEvidence" contract="ServiceReference1.IWCFEvidence" />
</service>
<service behaviorConfiguration="ServiceBehaviour" name="ServiceReference1.WCFFormativeCredit">
<endpoint address="http://193.205.191.6/WCFSiretCM/WCFSiretCM.svc"
behaviorConfiguration="EndPointBehavior" binding="basicHttpBinding"
bindingConfiguration="CustomBinding" name="WCFFormativeCredit"
contract="ServiceReference1.IWCFFormativeCredit" />
</service>
<service behaviorConfiguration="ServiceBehaviour" name="ServiceReference1.WCFInstructionalEntity">
<endpoint address="http://193.205.191.6/WCFSiretCM/WCFSiretCM.svc"
behaviorConfiguration="EndPointBehavior" binding="basicHttpBinding"
bindingConfiguration="CustomBinding" name="WCFInstructionalEntity"
contract="ServiceReference1.IWCFInstructionalEntity" />
</service>
<service behaviorConfiguration="ServiceBehaviour" name="ServiceReference1.WCFKnowledge">
<endpoint address="http://193.205.191.6/WCFSiretCM/WCFSiretCM.svc"
behaviorConfiguration="EndPointBehavior" binding="basicHttpBinding"
bindingConfiguration="CustomBinding" name="WCFKnowledge" contract="ServiceReference1.IWCFKnowledge" />
</service>
<service behaviorConfiguration="ServiceBehaviour" name="ServiceReference1.WCFResponsibility">
<endpoint address="http://193.205.191.6/WCFSiretCM/WCFSiretCM.svc"
behaviorConfiguration="EndPointBehavior" binding="basicHttpBinding"
bindingConfiguration="CustomBinding" name="WCFResponsibility"
contract="ServiceReference1.IWCFResponsibility" />
</service>
<service behaviorConfiguration="ServiceBehaviour" name="ServiceReference1.WCFRole">
<endpoint address="http://193.205.191.6/WCFSiretCM/WCFSiretCM.svc"
behaviorConfiguration="EndPointBehavior" binding="basicHttpBinding"
bindingConfiguration="CustomBinding" name="WCFRole" contract="ServiceReference1.IWCFRole" />
</service>
<service behaviorConfiguration="ServiceBehaviour" name="ServiceReference1.WCFRoleScheme">
<endpoint address="http://193.205.191.6/WCFSiretCM/WCFSiretCM.svc"
behaviorConfiguration="EndPointBehavior" binding="basicHttpBinding"
bindingConfiguration="CustomBinding" name="WCFRoleScheme" contract="ServiceReference1.IWCFRoleScheme" />
</service>
<service behaviorConfiguration="ServiceBehaviour" name="ServiceReference1.WCFScale">
<endpoint address="http://193.205.191.6/WCFSiretCM/WCFSiretCM.svc"
binding="basicHttpBinding" name="WCFScale" contract="ServiceReference1.IWCFScale" />
</service>
<service behaviorConfiguration="ServiceBehaviour" name="ServiceReference1.WCFSkill">
<endpoint address="http://193.205.191.6/WCFSiretCM/WCFSiretCM.svc"
binding="basicHttpBinding" name="WCFSkill" contract="ServiceReference1.IWCFSkill" />
</service>
</services>
</system.serviceModel>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true"/>
</system.webServer>
</configuration>
while the client side web.config is:
<configuration>
<connectionStrings>
<add name="ApplicationServices"
connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnetdb.mdf;User Instance=true"
providerName="System.Data.SqlClient" />
</connectionStrings>
<system.web>
<httpRuntime maxQueryStringLength="2097151"/>
<compilation debug="true" targetFramework="4.0" />
</system.web>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true"/>
</system.webServer>
<system.serviceModel>
<behaviors>
<endpointBehaviors>
<behavior name="EndPointBehavior">
<dataContractSerializer maxItemsInObjectGraph="2147483647" />
</behavior>
</endpointBehaviors>
<serviceBehaviors>
<behavior name="ServiceBehaviour">
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="true" />
<dataContractSerializer maxItemsInObjectGraph="2147483647" />
</behavior>
</serviceBehaviors>
</behaviors>
<bindings>
<basicHttpBinding>
<binding name="CustomBinding" closeTimeout="00:10:00"
openTimeout="00:10:00" receiveTimeout="00:10:00" sendTimeout="00:10:00"
allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
maxBufferSize="2147483647" maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647"
messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"
useDefaultWebProxy="true">
<readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647" maxArrayLength="2147483647"
maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
<security mode="None">
<transport clientCredentialType="None" proxyCredentialType="None"
realm="" />
<message clientCredentialType="UserName" algorithmSuite="Default" />
</security>
</binding>
</basicHttpBinding>
</bindings>
<client>
<endpoint address="http://localhost/WCFSiretCM/WCFSiretCM.svc" behaviorConfiguration="EndPointBehavior"
binding="basicHttpBinding" bindingConfiguration="CustomBinding"
contract="ServiceReference1.IWCFAgency" name="BasicHttpBinding_IWCFAgency" />
<endpoint address="http://localhost/WCFSiretCM/WCFSiretCM.svc" behaviorConfiguration="EndPointBehavior"
binding="basicHttpBinding" bindingConfiguration="CustomBinding"
contract="ServiceReference1.IWCFPerson" name="BasicHttpBinding_IWCFPerson" />
<endpoint address="http://localhost/WCFSiretCM/WCFSiretCM.svc" behaviorConfiguration="EndPointBehavior"
binding="basicHttpBinding" bindingConfiguration="CustomBinding"
contract="ServiceReference1.IWCFCertificate" name="BasicHttpBinding_IWCFCertificate" />
<endpoint address="http://localhost/WCFSiretCM/WCFSiretCM.svc" behaviorConfiguration="EndPointBehavior"
binding="basicHttpBinding" bindingConfiguration="CustomBinding"
contract="ServiceReference1.IWCFAttitude" name="BasicHttpBinding_IWCFAttitude" />
<endpoint address="http://localhost/WCFSiretCM/WCFSiretCM.svc" behaviorConfiguration="EndPointBehavior"
binding="basicHttpBinding" bindingConfiguration="CustomBinding"
contract="ServiceReference1.IWCFClassificationType" name="BasicHttpBinding_IWCFClassificationType" />
<endpoint address="http://localhost/WCFSiretCM/WCFSiretCM.svc" behaviorConfiguration="EndPointBehavior"
binding="basicHttpBinding" bindingConfiguration="CustomBinding"
contract="ServiceReference1.IWCFCompetence" name="BasicHttpBinding_IWCFCompetence" />
<endpoint address="http://localhost/WCFSiretCM/WCFSiretCM.svc" behaviorConfiguration="EndPointBehavior"
binding="basicHttpBinding" bindingConfiguration="CustomBinding"
contract="ServiceReference1.IWCFCompetenceDetail" name="BasicHttpBinding_IWCFCompetenceDetail" />
<endpoint address="http://localhost/WCFSiretCM/WCFSiretCM.svc" behaviorConfiguration="EndPointBehavior"
binding="basicHttpBinding" bindingConfiguration="CustomBinding"
contract="ServiceReference1.IWCFCompetenceScheme" name="BasicHttpBinding_IWCFCompetenceScheme" />
<endpoint address="http://localhost/WCFSiretCM/WCFSiretCM.svc" behaviorConfiguration="EndPointBehavior"
binding="basicHttpBinding" bindingConfiguration="CustomBinding"
contract="ServiceReference1.IWCFCompetencyDetail" name="BasicHttpBinding_IWCFCompetencyDetail" />
<endpoint address="http://localhost/WCFSiretCM/WCFSiretCM.svc" behaviorConfiguration="EndPointBehavior"
binding="basicHttpBinding" bindingConfiguration="CustomBinding"
contract="ServiceReference1.IWCFCompetencyScheme" name="BasicHttpBinding_IWCFCompetencyScheme" />
<endpoint address="http://localhost/WCFSiretCM/WCFSiretCM.svc" behaviorConfiguration="EndPointBehavior"
binding="basicHttpBinding" bindingConfiguration="CustomBinding"
contract="ServiceReference1.IWCFContext" name="BasicHttpBinding_IWCFContext" />
<endpoint address="http://localhost/WCFSiretCM/WCFSiretCM.svc" behaviorConfiguration="EndPointBehavior"
binding="basicHttpBinding" bindingConfiguration="CustomBinding"
contract="ServiceReference1.IWCFEducation" name="BasicHttpBinding_IWCFEducation" />
<endpoint address="http://localhost/WCFSiretCM/WCFSiretCM.svc" behaviorConfiguration="EndPointBehavior"
binding="basicHttpBinding" bindingConfiguration="CustomBinding"
contract="ServiceReference1.IWCFEvidence" name="BasicHttpBinding_IWCFEvidence" />
<endpoint address="http://localhost/WCFSiretCM/WCFSiretCM.svc" behaviorConfiguration="EndPointBehavior"
binding="basicHttpBinding" bindingConfiguration="CustomBinding"
contract="ServiceReference1.IWCFFormativeCredit" name="BasicHttpBinding_IWCFFormativeCredit" />
<endpoint address="http://localhost/WCFSiretCM/WCFSiretCM.svc" behaviorConfiguration="EndPointBehavior"
binding="basicHttpBinding" bindingConfiguration="CustomBinding"
contract="ServiceReference1.IWCFInstructionalEntity" name="BasicHttpBinding_IWCFInstructionalEntity" />
<endpoint address="http://localhost/WCFSiretCM/WCFSiretCM.svc" behaviorConfiguration="EndPointBehavior"
binding="basicHttpBinding" bindingConfiguration="CustomBinding"
contract="ServiceReference1.IWCFKnowledge" name="BasicHttpBinding_IWCFKnowledge" />
<endpoint address="http://localhost/WCFSiretCM/WCFSiretCM.svc" behaviorConfiguration="EndPointBehavior"
binding="basicHttpBinding" bindingConfiguration="CustomBinding"
contract="ServiceReference1.IWCFResponsibility" name="BasicHttpBinding_IWCFResponsibility" />
<endpoint address="http://localhost/WCFSiretCM/WCFSiretCM.svc"
behaviorConfiguration="EndPointBehavior" binding="basicHttpBinding"
bindingConfiguration="CustomBinding" contract="ServiceReference1.IWCFRole"
name="BasicHttpBinding_IWCFRole" />
<endpoint address="http://localhost/WCFSiretCM/WCFSiretCM.svc"
behaviorConfiguration="EndPointBehavior" binding="basicHttpBinding"
bindingConfiguration="CustomBinding" contract="ServiceReference1.IWCFRoleScheme"
name="BasicHttpBinding_IWCFRoleScheme" />
<endpoint address="http://localhost/WCFSiretCM/WCFSiretCM.svc" behaviorConfiguration="EndPointBehavior"
binding="basicHttpBinding" bindingConfiguration="CustomBinding"
contract="ServiceReference1.IWCFScale" name="BasicHttpBinding_IWCFScale" />
<endpoint address="http://localhost/WCFSiretCM/WCFSiretCM.svc" behaviorConfiguration="EndPointBehavior"
binding="basicHttpBinding" bindingConfiguration="CustomBinding"
contract="ServiceReference1.IWCFSkill" name="BasicHttpBinding_IWCFSkill" />
</client>
</system.serviceModel>
</configuration>
If you want to send large amount of data in WCF you probably could use Streamed mode.
http://msdn.microsoft.com/en-us/library/ms731913.aspx
http://msdn.microsoft.com/en-us/library/ms733742.aspx
Or you could use workaround and transfer your data in chunks by implementing several methods in service, like
StartUpload()
SendChunk(byte[] chunk)
EndUpload()
There're really two options if you decide to chunk your message as supposed to simply increase max quota or timeout's.
OPTION 1: Chunk it yourself
OPTION 2: Channel Chunking
http://msdn.microsoft.com/en-us/library/aa717050(v=vs.110).aspx
Related
Hi i am trying to enable my wcf serive to run on https but i am getting this error
Configuration binding extension 'system.serviceModel/bindings/true' could not be found. Verify that this binding extension is properly registered in system.serviceModel/extensions/bindingExtensions and that it is spelled correctly.
Can any one let me know where i am going wrong.
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.web>
<compilation debug="true" />
<authentication mode="None"/>
<httpRuntime maxRequestLength="2097151" />
<hostingEnvironment shadowCopyBinAssemblies="false"/>
<pages compilationMode="Never"/>
</system.web>
<!-- When deploying the service library project, the content of the config file must be added to the host's
app.config file. System.Configuration does not support config files for libraries. -->
<system.serviceModel>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" />
<services>
<service name="MyWebApp.Medical.WebViewer.Wcf.StoreService" behaviorConfiguration="WebViewerServiceBehavior">
<endpoint address="" binding="webHttpBinding" contract="MyWebApp.Medical.WebViewer.ServiceContracts.IStoreService" behaviorConfiguration="WebViewerServiceBehavior" bindingConfiguration="HandleLargeData"/>
<endpoint address="mex" binding="mexHttpsBinding" contract="IMetadataExchange" />
</service>
<service name="MyWebApp.Medical.WebViewer.Wcf.PatientService" behaviorConfiguration="WebViewerServiceBehavior">
<endpoint address="" binding="webHttpBinding" contract="MyWebApp.Medical.WebViewer.ServiceContracts.IPatientService" behaviorConfiguration="WebViewerServiceBehavior" bindingConfiguration="HandleLargeData"/>
<endpoint address="mex" binding="mexHttpsBinding" contract="IMetadataExchange" />
</service>
<service name="MyWebApp.Medical.WebViewer.Wcf.ObjectQueryService" behaviorConfiguration="WebViewerServiceBehavior">
<endpoint address="" binding="webHttpBinding" contract="MyWebApp.Medical.WebViewer.ServiceContracts.IObjectQueryService" behaviorConfiguration="WebViewerServiceBehavior">
</endpoint>
<endpoint address="mex" binding="mexHttpsBinding" bindingConfiguration="" contract="IMetadataExchange">
</endpoint>
</service>
<service name="MyWebApp.Medical.WebViewer.Wcf.ObjectRetrieveService" behaviorConfiguration="WebViewerServiceBehavior">
<endpoint address="" binding="webHttpBinding" contract="MyWebApp.Medical.WebViewer.ServiceContracts.IObjectRetrieveService" behaviorConfiguration="WebViewerServiceBehavior">
</endpoint>
</service>
<service name="MyWebApp.Medical.WebViewer.Wcf.PacsQueryService" behaviorConfiguration="WebViewerServiceBehavior">
<endpoint address="" binding="webHttpBinding" contract="MyWebApp.Medical.WebViewer.ServiceContracts.IPACSQueryService" behaviorConfiguration="WebViewerServiceBehavior">
</endpoint>
<!-- Metadata Endpoints -->
<!-- The Metadata Exchange endpoint is used by the service to describe itself to clients. -->
<!-- This endpoint does not use a secure binding and should be secured or removed before deployment -->
<endpoint address="mex" binding="mexHttpsBinding" contract="IMetadataExchange" />
</service>
<service name="MyWebApp.Medical.WebViewer.Wcf.PACSRetrieveService" behaviorConfiguration="WebViewerServiceBehavior">
<endpoint address="" binding="webHttpBinding" contract="MyWebApp.Medical.WebViewer.ServiceContracts.IPACSRetrieveService" behaviorConfiguration="WebViewerServiceBehavior">
</endpoint>
</service>
<service name="MyWebApp.Medical.WebViewer.Wcf.AuthenticationService" behaviorConfiguration="WebViewerServiceBehavior">
<endpoint address="" binding="webHttpBinding" contract="MyWebApp.Medical.WebViewer.ServiceContracts.IAuthenticationService" behaviorConfiguration="WebViewerServiceBehavior">
</endpoint>
<endpoint address="mex" binding="mexHttpsBinding" contract="IMetadataExchange" />
</service>
<service name="MyWebApp.Medical.WebViewer.Wcf.PatientAccessRightsService" behaviorConfiguration="WebViewerServiceBehavior">
<endpoint address="" binding="webHttpBinding" contract="MyWebApp.Medical.WebViewer.ServiceContracts.IPatientAccessRightsService" behaviorConfiguration="WebViewerServiceBehavior">
</endpoint>
</service>
<service name="MyWebApp.Medical.WebViewer.Wcf.AnnotationsService" behaviorConfiguration="WebViewerServiceBehavior">
<endpoint address="" binding="webHttpBinding" contract="MyWebApp.Medical.WebViewer.ServiceContracts.IAnnotationsService" behaviorConfiguration="WebViewerServiceBehavior" bindingConfiguration="HandleLargeData">
</endpoint>
</service>
<service name="MyWebApp.Medical.WebViewer.Wcf.OptionsService" behaviorConfiguration="WebViewerServiceBehavior">
<endpoint address="" binding="webHttpBinding" contract="MyWebApp.Medical.WebViewer.ServiceContracts.IOptionsService" behaviorConfiguration="WebViewerServiceBehavior">
</endpoint>
</service>
<service name="MyWebApp.Medical.WebViewer.Wcf.AuditLogService" behaviorConfiguration="WebViewerServiceBehavior">
<endpoint address="" binding="webHttpBinding" contract="MyWebApp.Medical.WebViewer.ServiceContracts.IAuditLogService" behaviorConfiguration="WebViewerServiceBehavior">
</endpoint>
</service>
<service name="MyWebApp.Medical.WebViewer.Wcf.ExportService"
behaviorConfiguration="WebViewerServiceBehavior">
<endpoint address=""
binding="webHttpBinding"
contract="MyWebApp.Medical.WebViewer.ServiceContracts.IExportService"
behaviorConfiguration="WebViewerServiceBehavior"
bindingConfiguration="HandleLargeData">
</endpoint>
</service>
<service name="MyWebApp.Medical.WebViewer.Wcf.MonitorCalibrationService"
behaviorConfiguration="WebViewerServiceBehavior">
<endpoint address=""
binding="webHttpBinding"
contract="MyWebApp.Medical.WebViewer.ServiceContracts.IMonitorCalibrationService"
behaviorConfiguration="WebViewerServiceBehavior"
bindingConfiguration="HandleLargeData">
</endpoint>
</service>
<service name="MyWebApp.Medical.WebViewer.Wcf.WorklistService"
behaviorConfiguration="WebViewerServiceBehavior">
<endpoint address=""
binding="webHttpBinding"
contract="MyWebApp.Medical.WebViewer.ServiceContracts.IWorklistService"
behaviorConfiguration="WebViewerServiceBehavior"
bindingConfiguration="HandleLargeData">
</endpoint>
</service>
</services>
<extensions>
<bindingExtensions>
<add name="basic" type="basicHttpBinding"/>
<add name="webBind" type="webHttpBinding"/>
<add name="ws*bind" type="wsHttpBinding"/>
</bindingExtensions>
<behaviorExtensions>
<add name="jsonWebHttp" type="MyWebApp.Dicom.Services.ErrorHandler.JsonErrorWebHttpBehaviorElement, MyWebApp.Medical.WebViewer.WCF" />
<add name="CorsSupport" type="MyWebApp.Wcf.CorsSupportBehaviorElement, MyWebApp.Wcf.WebHttpCorsBehavior" />
</behaviorExtensions>
</extensions>
<bindings>
<webHttpBinding>
<binding name="HandleLargeData" maxBufferSize="2147483647" maxReceivedMessageSize="2147483647" receiveTimeout="01:00:00" openTimeout="01:00:00" closeTimeout="01:00:00" sendTimeout="01:00:00">
<security mode="Transport">
<transport clientCredentialType="None"/>
</security>
<readerQuotas maxDepth="2147483647"
maxStringContentLength="2147483647"
maxArrayLength="2147483647"
maxBytesPerRead="2147483647"
maxNameTableCharCount="2147483647" />
</binding>
</webHttpBinding>
</bindings>
<behaviors>
<serviceBehaviors>
<behavior name="WebViewerServiceBehavior">
<!-- To avoid disclosing metadata information,
set the value below to false and remove the metadata endpoint above before deployment -->
<!--<serviceMetadata httpGetEnabled="true" httpGetUrl="anonymous" />-->
<serviceMetadata httpsGetBinding="true" httpsGetUrl="anonymous" />
<!-- 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>
<endpointBehaviors>
<behavior name="WebViewerServiceBehavior">
<webHttp />
<jsonWebHttp />
<CorsSupport />
</behavior>
</endpointBehaviors>
</behaviors>
</system.serviceModel>
<connectionStrings>
</connectionStrings>
<appSettings>
</appSettings>
<system.webServer>
<staticContent>
<remove fileExtension=".dcz"/>
<mimeMap fileExtension=".dcz" mimeType="application/x-zip-compressed" />
</staticContent>
</system.webServer>
</configuration>
Looks like you have set httpsGetBinding to a binding that is not defined.
Try changing this:
<serviceMetadata httpsGetBinding="true" httpsGetUrl="anonymous" />
to this:
<serviceMetadata httpsGetEnabled="true" />
Also you have provided a name to the binding - 'HandleLargeData'. Only the services that have explicitly set this in the bindingConfiguration property will use it. Perhaps this is what you want but just something to be aware of.
Ok. So I don't know what I am doing wrong, but I have tried a few things. There's even a few posts here about this very same problem, but seems like I just cannot get this right.
I have a website that is running rest services, and everything is working fine when I use normal "http".
So today I was like "...hey, let's enable SSL, because we will have to run the website with SSL anyways later on...", and this is what I did:
- Clicked on the project, and pressed F4 (open properties) and ->
Great. When I run the wesbite:
And this is what my serviceModel looks like:
<system.serviceModel>
<!--<services>
<service name="Stolen.Service">
<endpoint address=""
binding="basicHttpBinding"
bindingConfiguration="secureHttpBinding"
contract="Stolen.IService"/>
<endpoint address="mex"
binding="mexHttpsBinding"
contract="IMetadataExchange" />
</service>
</services>-->
<bindings>
<basicHttpBinding>
<binding name="secureHttpBinding">
<security mode="Transport">
<transport clientCredentialType="None"/>
</security>
</binding>
</basicHttpBinding>
<webHttpBinding>
<binding>
<security mode="Transport" />
</binding>
</webHttpBinding>
</bindings>
<services>
<service name="Stolen.Service">
<endpoint address="rest"
binding="basicHttpBinding"
bindingConfiguration="secureHttpBinding"
behaviorConfiguration="RestfulBehavior"
contract="Stolen.IService"/>
<!--<endpoint address=""
binding="webHttpBinding"
behaviorConfiguration="RestfulBehavior"
contract="Stolen.IService"/>-->
<!--<endpoint address="mex"
binding="mexHttpsBinding"
contract="IMetadataExchange" />-->
<!--<endpoint address="soap"
binding="basicHttpBinding"
behaviorConfiguration="SOAPBehavior"
contract="Stolen.IService" />-->
</service>
</services>
<behaviors>
<endpointBehaviors>
<behavior name="RestfulBehavior">
<!--<enableWebScript/>-->
<webHttp/>
</behavior>
<!--<behavior name="SOAPBehavior">
</behavior>-->
</endpointBehaviors>
<serviceBehaviors>
<behavior name="">
<serviceMetadata httpsGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
</serviceBehaviors>
</behaviors>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" />
</system.serviceModel>
And one of the services that I have:
[OperationContract]
[WebInvoke(Method = "POST",
UriTemplate = "IncrementWebsiteVisitCount",
RequestFormat = WebMessageFormat.Json,
ResponseFormat = WebMessageFormat.Json,
BodyStyle = WebMessageBodyStyle.WrappedRequest)]
string IncrementWebsiteVisitCount();
Some posts have suggested that the
<webHttp/>
be removed. Some also suggested that this is because I have configured a single endpointBehavior for both SOAP and REST endpoints. I dunno, this one gets me!
Can anyone perhaps help me out? Any help will be appreciated!
I actually ended up changing a few things.
But only in the web config file.
My serviceModel now looks like this:
<system.serviceModel>
<bindings>
<!-- As far as I know, webHttpBinding means it is a REST service -->
<webHttpBinding>
<binding name="secureHttpBinding">
<security mode="Transport">
<transport clientCredentialType="None"/>
</security>
</binding>
</webHttpBinding>
</bindings>
<behaviors>
<endpointBehaviors>
<behavior name="web">
<webHttp/>
</behavior>
</endpointBehaviors>
<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 aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" />
<services>
<service name="Stolen.Service">
<host>
<baseAddresses>
<add baseAddress="https://localhost:44300/Service.svc/" />
</baseAddresses>
</host>
<endpoint address=""
behaviorConfiguration="web"
binding="webHttpBinding"
bindingConfiguration="secureHttpBinding"
contract="Stolen.IService" />
<endpoint address="mex"
binding="mexHttpsBinding"
contract="IMetadataExchange" />
</service>
</services>
</system.serviceModel>
With this, everything is working fine for me now, with SSL.
I have a WCF service hosted on IIS and here is the web config.
<system.serviceModel>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" aspNetCompatibilityEnabled="false" />
<bindings>
<basicHttpBinding>
<binding name="BasicHttpBinding_IFactoryData" allowCookies="true" maxBufferPoolSize="20000000" maxReceivedMessageSize="20000000" />
<binding name="BasicHttpBinding_IWatheq">
</binding>
</basicHttpBinding>
<netTcpBinding>
<binding name="NetTcpBinding_IFactoryData" />
</netTcpBinding>
<wsHttpBinding>
<binding name="allowMax" closeTimeout="01:00:00" openTimeout="01:00:00" receiveTimeout="01:00:00" sendTimeout="01:00:00" maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647">
<readerQuotas maxDepth="200" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
<security mode="Transport">
<transport clientCredentialType="None"></transport>
</security>
</binding>
</wsHttpBinding>
</bindings>
<client>
<endpoint address="http://eind.mci.gov.sa/FactoryWCF/FactoryData.svc" binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IFactoryData" contract="MCI_FactoryData.IFactoryData" name="BasicHttpBinding_IFactoryData" />
<endpoint address="https://wathiqprep.thiqah.sa/2.0/Wathiq.svc" binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IWatheq" contract="WatheqServiceRef.IWatheq" name="BasicHttpBinding_IWatheq" />
<!--<endpoint address="net.tcp://mci-inddb.mci.gov/FactoryWCF/FactoryData.svc"
binding="netTcpBinding" bindingConfiguration="NetTcpBinding_IFactoryData"
contract="MCI_FactoryData.IFactoryData" name="NetTcpBinding_IFactoryData">
<identity>
<servicePrincipalName value="host/MCI-INDDB.MCI.GOV" />
</identity>
</endpoint>-->
</client>
<behaviors>
<endpointBehaviors>
<behavior name="Web" />
</endpointBehaviors>
<serviceBehaviors>
<behavior name="mex">
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
<behavior name="">
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="false" />
</behavior>
</serviceBehaviors>
</behaviors>
<services>
<service behaviorConfiguration="mex" name="SIDFService.FactoryService">
<endpoint behaviorConfiguration="Web" binding="wsHttpBinding" bindingConfiguration="allowMax" contract="SIDFService.IFactoryService" />
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
</service>
<service behaviorConfiguration="mex" name="SIDFService.WatheqService">
<endpoint behaviorConfiguration="Web" binding="wsHttpBinding" bindingConfiguration="allowMax" contract="SIDFService.IWatheqService" />
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
</service>
<service behaviorConfiguration="mex" name="SIDFService.TempIndustrialLicenseService">
<endpoint behaviorConfiguration="Web" binding="wsHttpBinding" bindingConfiguration="allowMax" contract="SIDFService.ITempIndustrialLicenseService" />
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
</service>
<service behaviorConfiguration="mex" name="SIDFService.SaudiPostAddressService">
<endpoint behaviorConfiguration="Web" binding="wsHttpBinding" bindingConfiguration="allowMax" contract="SIDFService.ISaudiPostAddressService" />
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
</service>
</services>
The setting on IIS is anonymous is enabled and Windows is enabled ... the service wsdl is accessble outside the domain but on WCF test client it is asking for windows credentials. The same when windows is disabled on IIS authentication, the service gives error on browser outside domain.
I want to publish a Webservice with basicHttpBinding configuration. I am using a basicHttpBinding configuration to increase the default message size of 65536 bytes. The problem I am having is that when I use the web.config settings as shown below, I am getting an error:
Metadata publishing for this service is currently disabled.
My Main goal is to be able to increase the default message size and able to save binary file in database, therefore any other config is welcome, however I was trying to keep it as simple as possible to avoid further issues.
Can you please spot what is wrong with my configuration?
Service.config code is below..
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="basicHttpEndpointBinding" closeTimeout="01:01:00"
openTimeout="01:01:00" receiveTimeout="01:10:00" sendTimeout="01:01:00"
allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
maxBufferSize="2147483646" maxBufferPoolSize="2147483646" maxReceivedMessageSize="2147483646"
messageEncoding="Mtom" textEncoding="utf-8" transferMode="StreamedRequest"
useDefaultWebProxy="true">
<readerQuotas maxDepth="2147483646" maxStringContentLength="2147483646" maxArrayLength="2147483646"
maxBytesPerRead="2147483646" maxNameTableCharCount="2147483646" />
<security mode="None">
<transport clientCredentialType="None" proxyCredentialType="None"
realm="" />
<message clientCredentialType="UserName" algorithmSuite="Default" />
</security>
</binding>
</basicHttpBinding>
</bindings>
<services>
<service name="WITSService.WITSService" behaviorConfiguration="DragDrop.Service.ServiceBehavior" >
<endpoint address="" binding="basicHttpBinding" bindingConfiguration="basicHttpEndpointBinding" contract="DragDrop.Service.IService">
<identity>
<dns value="localhost"/>
</identity>
</endpoint>
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>
</service>
</services>
<!--<services>
<service name="WITSService.WITSService">
<endpoint address="" binding="basicHttpBinding" contract="WITSService.WITSService">
<identity>
<dns value="localhost" />
</identity>
</endpoint>
<endpoint address="mex" binding="basicHttpBinding" contract="IMetadataExchange" />
</service>
</services>-->
<behaviors>
<serviceBehaviors>
<behavior name="DragDrop.Service.ServiceBehavior">
<serviceMetadata httpGetEnabled="true"/>
<serviceDebug includeExceptionDetailInFaults="false"/>
<dataContractSerializer maxItemsInObjectGraph="2147483646"/>
</behavior>
</serviceBehaviors>
</behaviors>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
</system.serviceModel>
<system.webServer>
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength="500000000" />
</requestFiltering>
</security>
<modules runAllManagedModulesForAllRequests="true" />
</system.webServer>
Put this configuration in your web.config.
<?xml version="1.0"?>
<configuration>
<system.web>
<httpRuntime executionTimeout="4800" maxRequestLength="2097150"/>
<compilation debug="true"/>
</system.web>
<system.serviceModel>
<bindings>
<basicHttpBinding/>
<customBinding>
<binding name="LargeSilverlight" closeTimeout="00:21:00" openTimeout="00:20:00" receiveTimeout="00:20:00" sendTimeout="00:50:00">
<textMessageEncoding maxReadPoolSize="2147483647" maxWritePoolSize="2147483647">
<readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647"/>
</textMessageEncoding>
<httpTransport maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647" maxBufferSize="2147483647"/>
</binding>
</customBinding>
</bindings>
<client/>
<!--SERVICE-->
<services>
<service name="WITSService.WITSService" behaviorConfiguration="SilverlightWCFLargeDataApplication">
<endpoint address="" binding="customBinding" bindingConfiguration="LargeSilverlight" behaviorConfiguration="SilverlightWCFLargeDataApplication" contract="DragDrop.Service.IService"/>
</service>
</services>
<!--BEHAVIOR-->
<behaviors>
<serviceBehaviors>
<behavior name="SilverlightWCFLargeDataApplication">
<serviceMetadata httpGetEnabled="true"/>
<serviceDebug includeExceptionDetailInFaults="false"/>
<dataContractSerializer maxItemsInObjectGraph="2147483647"/>
</behavior>
</serviceBehaviors>
<endpointBehaviors>
<behavior name="SilverlightWCFLargeDataApplication">
<dataContractSerializer maxItemsInObjectGraph="2147483647"/>
</behavior>
</endpointBehaviors>
</behaviors>
</system.serviceModel>
<system.webServer>
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength="500000000"/>
</requestFiltering>
</security>
<modules runAllManagedModulesForAllRequests="true"/>
</system.webServer>
</configuration>
I am trying to setup the SightMax livechat using the https, but when request the url below
https://livechat.domain.com/Live-Chat/agentinterfacejson.svc/ssl/chat/RequestSurvey
It return this error
Could not find a base address that matches scheme https for the
endpoint with binding WebHttpBinding. Registered base address schemes
are [http].
Have tried research around but still cannot get it right,
below is my web.config
The IIS already setup with binding to the https.
<bindings>
<customBinding>
<binding name="jsonpBinding">
<jsonpMessageEncoding/>
<httpTransport manualAddressing="true"/>
</binding>
<binding name="jsonpBindingSsl">
<jsonpMessageEncoding/>
<httpsTransport manualAddressing="true"/>
</binding>
</customBinding>
<webHttpBinding>
<binding name="jsonBinding" maxReceivedMessageSize="52428800">
<readerQuotas maxDepth="52428800" maxStringContentLength="52428800" maxArrayLength="52428800"/>
</binding>
<binding name="sslJsonBinding">
<security mode="Transport"/>
</binding>
<binding name="jsonpBindingSsl">
<security mode="Transport"/>
</binding>
</webHttpBinding>
</bindings>
<services>
<service behaviorConfiguration="SmartMax.SightMax.AgentInterfaceService.AgentInterfaceJsonBehavior" name="SmartMax.SightMax.AgentInterfaceService.AgentInterfaceJson">
<endpoint address="chat" behaviorConfiguration="jsonEndpointBehavior" binding="webHttpBinding" bindingConfiguration="jsonBinding" name="jsonChat" contract="SmartMax.SightMax.Chat.Visitor.IRemotedVisitorChat"/>
<endpoint address="site" behaviorConfiguration="jsonEndpointBehavior" binding="webHttpBinding" bindingConfiguration="jsonBinding" name="jsonSite" contract="SmartMax.SightMax.Website.IRemotedVisitorWebsite"/>
<!--Uncomment in order to enable SSL-->
<endpoint address="ssl/chat" behaviorConfiguration="jsonEndpointBehavior"
binding="webHttpBinding" bindingConfiguration="sslJsonBinding"
name="jsonChatSsl" contract="SmartMax.SightMax.Chat.Visitor.IRemotedVisitorChat" />
<endpoint address="ssl/site" behaviorConfiguration="jsonEndpointBehavior"
binding="webHttpBinding" bindingConfiguration="sslJsonBinding"
name="jsonSiteSsl" contract="SmartMax.SightMax.Website.IRemotedVisitorWebsite" />
</service>
<service behaviorConfiguration="SmartMax.SightMax.AgentInterfaceService.AgentInterfaceJsonpBehavior" name="SmartMax.SightMax.AgentInterfaceService.AgentInterfaceJsonp">
<endpoint address="chat" behaviorConfiguration="jsonpEndpointBehavior" binding="customBinding" bindingConfiguration="jsonpBinding" name="jsonpChat" contract="SmartMax.SightMax.Chat.Visitor.IRemotedVisitorChat"/>
<endpoint address="site" behaviorConfiguration="jsonpEndpointBehavior" binding="customBinding" bindingConfiguration="jsonpBinding" name="jsonpSite" contract="SmartMax.SightMax.Website.IRemotedVisitorWebsite"/>
<!--Uncomment in order to enable SSL-->
<endpoint address="ssl/chat" behaviorConfiguration="jsonpEndpointBehavior"
binding="customBinding" bindingConfiguration="jsonpBindingSsl"
name="jsonChatSsl" contract="SmartMax.SightMax.Chat.Visitor.IRemotedVisitorChat" />
<endpoint address="ssl/site" behaviorConfiguration="jsonpEndpointBehavior"
binding="customBinding" bindingConfiguration="jsonpBindingSsl"
name="jsonSiteSsl" contract="SmartMax.SightMax.Website.IRemotedVisitorWebsite" />
</service>
</services>
Any ideas on this ? Thanks
I have tried to put the base address on each service, but still no luck.
<services>
<service behaviorConfiguration="SmartMax.SightMax.AgentInterfaceService.AgentInterfaceJsonBehavior" name="SmartMax.SightMax.AgentInterfaceService.AgentInterfaceJson">
<host>
<baseAddresses>
<add baseAddress="https://livechat.domain.com/Live-Chat/agentinterfacejson.svc/"/>
</baseAddresses>
</host>
<endpoint address="chat" behaviorConfiguration="jsonEndpointBehavior" binding="webHttpBinding" bindingConfiguration="jsonBinding" name="jsonChat" contract="SmartMax.SightMax.Chat.Visitor.IRemotedVisitorChat"/>
<endpoint address="site" behaviorConfiguration="jsonEndpointBehavior" binding="webHttpBinding" bindingConfiguration="jsonBinding" name="jsonSite" contract="SmartMax.SightMax.Website.IRemotedVisitorWebsite"/>
<!--Uncomment in order to enable SSL-->
<endpoint address="ssl/chat" behaviorConfiguration="jsonEndpointBehavior"binding="webHttpBinding" bindingConfiguration="sslJsonBinding"name="jsonChatSsl" contract="SmartMax.SightMax.Chat.Visitor.IRemotedVisitorChat" />
<endpoint address="ssl/site" behaviorConfiguration="jsonEndpointBehavior"binding="webHttpBinding" bindingConfiguration="sslJsonBinding"name="jsonSiteSsl" contract="SmartMax.SightMax.Website.IRemotedVisitorWebsite" />
</service>
<service behaviorConfiguration="SmartMax.SightMax.AgentInterfaceService.AgentInterfaceJsonpBehavior" name="SmartMax.SightMax.AgentInterfaceService.AgentInterfaceJsonp">
<host>
<baseAddresses>
<add baseAddress="https://livechat.domain.com/Live-Chat/agentinterfacejson.svc/"/>
</baseAddresses>
</host>
<endpoint address="chat" behaviorConfiguration="jsonpEndpointBehavior" binding="customBinding" bindingConfiguration="jsonpBinding" name="jsonpChat" contract="SmartMax.SightMax.Chat.Visitor.IRemotedVisitorChat"/>
<endpoint address="site" behaviorConfiguration="jsonpEndpointBehavior" binding="customBinding" bindingConfiguration="jsonpBinding" name="jsonpSite" contract="SmartMax.SightMax.Website.IRemotedVisitorWebsite"/>
<!--Uncomment in order to enable SSL-->
<endpoint address="ssl/chat" behaviorConfiguration="jsonpEndpointBehavior"binding="customBinding" bindingConfiguration="jsonpBindingSsl"name="jsonChatSsl" contract="SmartMax.SightMax.Chat.Visitor.IRemotedVisitorChat" />
<endpoint address="ssl/site" behaviorConfiguration="jsonpEndpointBehavior"binding="customBinding" bindingConfiguration="jsonpBindingSsl"name="jsonSiteSsl" contract="SmartMax.SightMax.Website.IRemotedVisitorWebsite" />
</service>
</services>
You appear to be missing a BaseAddress and your endpoint address are relative.
<baseAddresses>
<add baseAddress="https://livechat.domain.com/Livechat/agentinterfacejson.svc" />
</baseAddresses>
WCF Service Host settings