binadi007 Ответов: 0

Там не было конечной точки прослушивания http://localhost:8080/helloservice это могло бы принять сообщение. Это часто вызвано неправильным адресом или действием SOAP.


Hi Guys,

I'm getting an error in my WebClient solution, while accessing the wcf service (which is running perfectly)
My wcf service config file looks like:-
<pre><configuration>  
  <system.serviceModel>
    <services>
      <service name="HelloService.HelloService" behaviorConfiguration="mexBehavior">
        <endpoint address="HelloService" binding="basicHttpBinding" contract="HelloService.IHelloService">          
        </endpoint>
        <endpoint address="HelloService" binding="netTcpBinding" contract="HelloService.IHelloService">          
        </endpoint>
        <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange">          
        </endpoint>
        <host>
          <baseAddresses>
            <add baseAddress="http://localhost:8080/HelloService"/>
            <add baseAddress="net.tcp://localhost:8090/HelloService"/>
          </baseAddresses>
        </host>
      </service>
    </services>
    <behaviors>
      <serviceBehaviors>
        <behavior name="mexBehavior">
          <serviceMetadata httpGetEnabled="true"/>
        </behavior>
      </serviceBehaviors>
    </behaviors>
  </system.serviceModel>
</configuration>


а в моем решении webclients внутри файла web. config выглядит так:-
<configuration>
    <system.web>
      <compilation debug="true" targetFramework="4.0" />
    </system.web>

    <system.serviceModel>
        <bindings>
            <basicHttpBinding>
                <binding name="BasicHttpBinding_IHelloService" />
            </basicHttpBinding>
            <netTcpBinding>
                <binding name="NetTcpBinding_IHelloService" />
            </netTcpBinding>
        </bindings>
        <client>
            <endpoint address="http://localhost:8080/HelloService" binding="basicHttpBinding"
                bindingConfiguration="BasicHttpBinding_IHelloService" contract="HelloService.IHelloService"
                name="BasicHttpBinding_IHelloService" />
            <endpoint address="net.tcp://localhost:8090/HelloService" binding="netTcpBinding"
                bindingConfiguration="NetTcpBinding_IHelloService" contract="HelloService.IHelloService"
                name="NetTcpBinding_IHelloService">
                <identity>
                    <userPrincipalName value="Xyz-PC\Xyz" />
                </identity>
            </endpoint>
        </client>
    </system.serviceModel>
</configuration>


Я не понимаю, где я делаю что-то не так. Но моя служба wcf звонит отлично. А также открываю ссылку "http://localhost:8080/HelloService-показывает мне службу. Но не удалось выяснить, почему клиентское решение не показывает ошибки прослушивания конечной точки.

То, как я вызываю конечную точку в моем файле WebForm1.aspx.cs внутри клиентского решения be, выглядит следующим образом:-
охраняемых недействительными обработчика button1_click(объект отправителя, EventArgs в электронной)
{
Служба HelloService.Клиент HelloServiceClient = новый HelloService.HelloServiceClient ("BasicHttpBinding_IHelloService");
Этикетка 1.Текст = клиент.GetMessage (TextBox1. Text);
}

Любая помощь очень ощутима.
Если у вас есть какие-либо сомнения, не стесняйтесь спрашивать меня

Спасибо


Что я уже пробовал:

Create the service which is working fine as I'm testing on the console app.

Calling that service inside web client solution particularly ASP.NET empty web Application. throws me the error.

Google a lot but not figure out the particular reason

Richard Deeming

Работают ли служба и клиент на одном компьютере?

Вы пробовали удалить "HelloService" из конца базового адреса в конфигурации службы?

binadi007

Оба они работают на одном компьютере.
Да, я удалил "HelloService" из конца базового адреса, но он не работал так же хорошо

binadi007

Он показывает мне такую ошибку:-

Удаленный сервер вернул ошибку: (404) не найден.

Описание: необработанное исключение возникло во время выполнения текущего веб-запроса. Пожалуйста, просмотрите трассировку стека для получения дополнительной информации об ошибке и о том, где она возникла в коде.

Сведения об исключении: System. Net.WebException: удаленный сервер вернул ошибку: (404) не найден.

Ошибка Источника:


Строка 48:
Строка 49: public string GetMessage(имя строки) {
Строка 50: возвратная база.Канал.GetMessage(имя);
Строка 51: }
Строка 52: }

Исходный файл: d:\HelloWebClient\Service References\ServiceReference1\Reference. cs строка: 50

трассировка стека:


[WebException: удаленный сервер вернул ошибку: (404) не найден.]
Системы.Нет.Класса HttpWebRequest.Метод GetResponse() +6592536
Система.Сервис-модель.Каналы.HttpChannelRequest.WaitForReply (TimeSpan timeout) +55

[EndpointNotFoundException: конечная точка не прослушивалась http://localhost:8080 / который мог бы принять сообщение. Это часто вызвано неправильным адресом или действием SOAP. Более подробную информацию см. В разделе InnerException, если таковое имеется.]
Система.Время Выполнения.Удаленное взаимодействие.Полномочия.Объекта realproxy.HandleReturnMessage (IMessage reqMsg, IMessage retMsg) +10733331
Система.Время Выполнения.Удаленное взаимодействие.Полномочия.Объекта realproxy.PrivateInvoke(MessageData& msgData, тип Int32) +336
Хеллоуэбклиент.Значение servicereference1.IHelloService.GetMessage(строковое имя) +0
Хеллоуэбклиент.Значение servicereference1.HelloServiceClient.GetMessage (строковое имя) в d:\HelloWebClient\Service ссылки\ServiceReference1\Reference. cs: 50
Хеллоуэбклиент.Файл webform1.Обработчика button1_click(объект отправителя, EventArgs В Е) в d:\HelloWebClient\WebForm1.aspx.cs:20
Системы.Веб.Пользовательского интерфейса.WebControls.Кнопка.OnClick(EventArgs e) +9750842
Системы.Веб.Пользовательского интерфейса.WebControls.Кнопка.RaisePostBackEvent(String eventArgument) +196
Системы.Веб.Пользовательского интерфейса.WebControls.Кнопка.Системы.Веб.Пользовательского интерфейса.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +10
System. Web.UI.Page. RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +13
System.Web.UI.Page. RaisePostBackEvent(NameValueCollection postData) +35
Системы.Веб.Пользовательского интерфейса.Страницы.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1724

Richard Deeming

Вы размещаете службу в IIS?

binadi007

Нет

0 Ответов