Я нашел ответ, копаясь в MSDN.
В моем случае я использовал пользовательскую привязку:
<customBinding>
<binding name="jsonpBinding">
<jsonpMessageEncoding/>
<httpTransport manualAddressing="true"/>
</binding>
</customBinding>
На который ссылались в сервисе
<services>
<service name="{YourInfoHere}">
<endpoint address="" binding="customBinding" bindingConfiguration="jsonpBinding" behaviorConfiguration="{YourInfoHere}" contract="{YourInfoHere}"/>
</service>
</services>
Добавление второй привязки, которая использовала httpsTransport, а затем второй сервис, который использовал эту привязку, добился цели. Окончательный вывод:
<services>
<service name="{YourInfoHere}">
<endpoint address="" binding="customBinding" bindingConfiguration="jsonpBinding" behaviorConfiguration="{YourInfoHere}" contract="{YourInfoHere}"/>
<endpoint address="" binding="customBinding" bindingConfiguration="jsonpBindingHttps" behaviorConfiguration="{YourInfoHere}" contract="{YourInfoHere}"/>
</service>
</services>
<bindings>
<customBinding>
<binding name="jsonpBinding">
<jsonpMessageEncoding/>
<httpTransport manualAddressing="true"/>
</binding>
<binding name="jsonpBindingHttps">
<jsonpMessageEncoding/>
<httpsTransport manualAddressing="true" />
</binding>
</customBinding>
</bindings>
Может быть не идеальным, но это работает. Это были единственные изменения, которые я сделал, чтобы заставить SSL работать. Поскольку все это находится в привязке и транспорте, код остается тем же.
Соответствующие ссылки MSDN:
- Пользовательская привязка: http://msdn.microsoft.com/en-us/library/ms731377.aspx
- HttpTransport: http://msdn.microsoft.com/en-us/library/system.servicemodel.channels.httptransportbindingelement.aspx
- HttpsTransport: http://msdn.microsoft.com/en-us/library/system.servicemodel.channels.httpstransportbindingelement.aspx