и это будет работать?
$this->db->where('LastName', 'Svendson');
$this->db->where('Age', 12);
$this->db->where("(FirstName='Tove' OR FirstName='Ola' OR Gender='M' OR Country='India')", NULL, FALSE);
$query = $this->db->get('Persons');
return $query->result();
Я понимаю что вы используете WCF для создания клиента, который подключается к удаленной веб-службе через HTTPS.
Для этого просто измените клиентский файл конфигурации для приложения на базе WCF, заменив http: //server.address на https: //server.address в configuration/system.serviceModel/client/endpoint/@address. примерно так:
<configuration>
<system.serviceModel>
...
<client>
<!-- change only the address string -->
<endpoint address="https://server.name/Whatever"
everything.else.stays.the.same />
</client>
</system.serviceModel>
</configuration>
(Путь к файлу конфигурации зависит от обычных правил .NET: будь то приложение ASPNET, служба и т. д.)
ИЛИ вы можете явно указать адрес в коде:
// instantiate new proxy to web service
var svc= new ServiceClient();
var e = svc.Endpoint;
e.Address = new System.ServiceModel.EndpointAddress("https://server.address/JavaServiceUri");
Я настоятельно рекомендую вам сделать адрес настраиваемым, а не жестко его кодировать. Это не означает, что он должен храниться в app.config, но его можно изменять. Прокси тоже.
См. Настройка HTTP и HTTPS :
Использование Windows Communication Foundation (WCF) через HTTP либо требуется использование хоста, такого как Интернет Информационные службы (IIS) или руководство конфигурация настроек HTTP через API HTTP-сервера. это документ описывает вручную настройка WCF при использовании HTTP и HTTPS.
А также см. Привязки WCF, необходимые для HTTPS :
Я только что закончил писать свой первый производственное приложение WCF, которое работал очень хорошо, пока я его не развернул в нашу производственную среду. Все внезапно ни один из вызовов WCF не работать, и я бы получил JavaScript Ошибка «TestService не определена». Когда я заглядываю внутрь JS-сервиса ссылку (в режиме отладки), я получил следующая ошибка:
Не удалось найти базовый адрес, соответствующий схеме http для конечной точки с привязкой WebHttpBinding. Зарегистрированные схемы базовых адресов: [https]
Очевидно, моя служба WCF зарегистрировался как HTTPS (поскольку он через SSL), но моя привязка была только настроен для HTTP. Решение чтобы определить пользовательскую привязку внутри вашего Web.Config и установите безопасность режим "Транспорт". Тогда ты просто нужно использовать привязкуConfiguration свойство внутри вашей конечной точки определение, чтобы указать на ваш обычай привязка. Весь HTTPS-совместимый Раздел system.serviceModel находится ниже:
Я предполагаю, что вы используете базовую привязку. Затем вам нужно сделать две вещи:
Я нашел ответ, копающийся в 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 заработал. Так как все это в binding & transport, код остается прежним.
Соответствующие ссылки MSDN: