Веб-сервисы на сервере IIS7 для веб-сайта на сервере Apache

У нас есть несколько серверов здесь.

Большинство наших веб-серверов являются компьютерами под управлением Windows 2008 R2, на которых установлены Apache и MySQL, но у нас также есть Веб-серверы IIS7 которые запускают базы данных SQL Server 2008.

Данные, которые я буду использовать в своих веб-отчетах, частично находятся на Веб-серверы IIS7База данных SQL и частично на Веб-сервер Apacheбаза данных MySQL.

Чуть больше года назад я познакомился с веб-службами в IIS7, когда работа была обновлена ​​с серверов Windows 2000.

Мне понравилось создание веб-службы, и я хотел бы думать, что это путь. Все примеры, которые я видел для Visual Studio 2010 (то, что у нас здесь), показывают только, как это сделать с проектом .Net 3.5. Если есть что-то для .Net 4.0, оно должно называться как-то иначе, чем Веб-сервисы.

Я хочу написать приложение, которое читает данные из базы данных MySQL на Веб-сервер Apache и объединяет это с данными из базы данных SQL на Веб-серверы IIS7.

Затем мне нужно иметь возможность читать эти данные с веб-сайта, написанного на PHP, на Веб-сервер Apache.

Итак, что я спрашиваю? Как продолжить, я полагаю.

  • Какой проект я должен создать в Visual Studio 2010? Чтение 1 данных из каждой базы данных легко, но мне нужно знать, как лучше сделать эти данные доступными.
  • Как мне получить доступ к этим данным через PHP?

Существуют ли контрольно-пропускные пункты, с которыми я столкнусь, которые предотвратят это?

Есть ли какой-то конкретный тип услуг, которые я должен изучить? Я не уверен, смогу ли я использовать веб-сервис с кодом PHP.

0

Решение

Файл web.config должен быть правильно настроен для PHP базовый класс SOAP читать из Microsoft WCF. На самом деле, кажется, нужно binding="basicHttpBinding",

Вот что у меня есть:

<system.serviceModel>
<services>
<service name="wcfLibrary.Dwgs" behaviorConfiguration="wcfLibrary.DwgsBehavior">
<endpoint address="" binding="basicHttpBinding" contract="wcfLibrary.IDwgs">
<identity>
<dns value="localhost"/>
</identity>
</endpoint>
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
<host>
<baseAddresses>
<add baseAddress="http://localhost/Dwg/" />
</baseAddresses>
</host>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="wcfLibrary.DwgsBehavior">
<serviceMetadata httpGetEnabled="true"/>
<serviceDebug includeExceptionDetailInFaults="true"/>
</behavior>
</serviceBehaviors>
</behaviors>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" />
<standardEndpoints>
<webHttpEndpoint>
<standardEndpoint name="" helpEnabled="true" automaticFormatSelectionEnabled="true"></standardEndpoint>
</webHttpEndpoint>
</standardEndpoints>
</system.serviceModel>

Однако один важный элемент, которого мне не хватало в моем проекте WCF, был WebGet — потому что я просто не смог установить ссылку на мой проект.

Что я нашел в блоге MSDN Начало работы со службами WCF WebHttp в .NET 4 является то, что проект VS2010 должен использовать Полный .NET 4 Framework, не профиль клиента, как я использовал.

Как только я сделал это и перезапустил проект, я смог добавить System.ServiceModel.Web из списка литературы.

Web.config раздел о <standardEndpoints> раздел был с шага 8 в CodeProject: создание и использование службы RESTFul в .NET Framework 4.0.

Этот ответ находится в стадии разработки. Я добавлю к этому, как я узнаю больше.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]