Вызов конечной точки службы WCF - PullRequest
1 голос
/ 09 декабря 2011

Я создал службу WCF с конечной точкой, размещенной в IIS, с файлом .svc.Когда я нажимаю на конечную точку, я получаю:

enter image description here

Таким образом, похоже, что конечная точка работает.

Я создал сервисный контракт

[ServiceContract]
public interface ImyService
{
   [OperationContract]
   String GetSearchResults();
}

И создал класс

[AspNetCompatibilityRequirements(RequirementsMode=AspNetCompatibilityRequirementsMode.Allowed)]
public class myService : ImyService
{
    public String GetSearchResults()
    {
        return "Hello World";
    }
}

Как вызвать метод GetSearchResults в браузере?

Редактировать

Привязка:

<bindings>
  <basicHttpBinding>
    <binding name="customBasicHttpBinding">
      <security mode="TransportCredentialOnly">
        <transport clientCredentialType="Ntlm"/>
      </security>
    </binding>
  </basicHttpBinding>
</bindings>

Ответы [ 4 ]

3 голосов
/ 09 декабря 2011

Вы не можете проверить результат службы WCF в браузере.Вы можете проверить это, используя тестовый клиент WCF.В вашей среде IDE просто откройте файл .svc или .svc.cs и нажмите F5, который должен запустить тестовый клиент WCF.

ПРИМЕЧАНИЕ. Тип вашего проекта - проект приложения-службы WCF

Также заданниже в вашем web.config для включения обмена метаданными.

<serviceBehaviors>
    <behavior>
    <serviceMetadata httpGetEnabled="true"/>
    <serviceDebug includeExceptionDetailInFaults="false"/>
    </behavior>
</serviceBehaviors>
1 голос
/ 09 декабря 2011

Почему бы вам просто не включить генерацию метаданных службы? Как только вы это сделаете, вы можете просто щелкнуть правой кнопкой мыши по вашей службе в Visual Studio и выбрать «Обзор ...». VS откроет ваш браузер по нужному URL, и вы сможете щелкнуть по названию метода, который хотите выполнить. Затем вы увидите правильный URL-адрес для вызова вашего метода при условии, что HTTP GET включен (поэтому вы не используете SOAP).

В противном случае вам придется использовать тестовую среду WCF, такую ​​как WCF Storm: http://www.wcfstorm.com/wcf/home.aspx

0 голосов
/ 09 декабря 2011

Лучшее - wcf storm . Это действительно мощный инструмент для тестирования wcf.

0 голосов
/ 09 декабря 2011

Вы можете сделать это из браузера, только если вы используете webHttpBinding.Что вы можете сделать, это использовать инструмент WcfTestClient, который находится здесь: "C: \ Program Files (x86) \ Microsoft Visual Studio 10.0 \ Common7 \ IDE \ WcfTestClient.exe"

Кроме того, ваши метаданные отключены, поэтому вЧтобы использовать WcfTestClient, вам нужно установить значение true для httpGetEnabled в приложении webservice.config

...