2015-12-18 10 views
1
<?xml version="1.0" ?> 
<configuration> 
<connectionStrings> 
<add name="SqlServerConnectionString" connectionString=""/> 
<add name="OracleConnectionString" connectionString="user id=DBGDEV;password=123;data source=(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=****.r..****)(PORT=1584))(CONNECT_DATA=(SERVICE_NAME=****)))" /> 
</connectionStrings> 
<system.web> 
<customErrors mode="Off"/> 
<compilation debug="true"> 
</compilation> 
</system.web> 
<system.serviceModel> 
<behaviors> 
    <serviceBehaviors> 
    <behavior name="serviceBehavior">   
     <serviceMetadata httpsGetEnabled="true"/> 
     <serviceDebug includeExceptionDetailInFaults="false" /> 
    </behavior> 
    </serviceBehaviors> 
    <endpointBehaviors> 
    <behavior name="httpEndpointBehavour"> 
     <webHttp/> 
    </behavior> 
    </endpointBehaviors> 
</behaviors> 
<services> 
    <service name="Implementation.AccountService" behaviorConfiguration="serviceBehavior"> 
    <endpoint address="" binding="webHttpBinding" contract="Contract.IAccountService" behaviorConfiguration="httpEndpointBehavour"bindingConfiguration="webHttpBinding" /> 
    <endpoint address="mex" binding="mexHttpsBinding" contract="IMetadataExchange" /> 
    </service> 
</services> 
    <bindings> 
    <basicHttpBinding> 
    <binding name="WCFsoap" closeTimeout="00:01:00" openTimeout="00:01:00" 
     receiveTimeout="00:10:00" sendTimeout="00:01:00" allowCookies="false" 
     bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard" 
     maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536" 
     messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered" 
     useDefaultWebProxy="true"> 
     <security mode="Transport"> 
     <transport clientCredentialType="Basic" proxyCredentialType="Basic" 
      realm="" /> 
     <message clientCredentialType="UserName" algorithmSuite="Default" /> 
     </security> 
    </binding> 
    <binding name="WCFsoap1" closeTimeout="00:01:00" openTimeout="00:01:00" 
     receiveTimeout="00:10:00" sendTimeout="00:01:00" allowCookies="false" 
     bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard" 
     maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536" 
     messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered" 
     useDefaultWebProxy="true"> 
     <security mode="None"> 
     <transport clientCredentialType="None" proxyCredentialType="None" 
      realm="" /> 
     <message clientCredentialType="UserName" algorithmSuite="Default"/> 
     </security> 
    </binding> 
    </basicHttpBinding> 
    <webHttpBinding> 
    <binding name="webHttpBinding" closeTimeout="00:01:00" openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00" allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard" maxBufferSize="2147483647" maxReceivedMessageSize="2147483647" useDefaultWebProxy="true"> 
     <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" /> 
     <security mode="Transport"> 
     <transport clientCredentialType="None" /> 
     </security> 
    </binding> 
    </webHttpBinding> 
</bindings> 
<client> 
    <endpoint address="https://test.myservice.com/rally_generic_ws.do?SOAP" 
      binding="basicHttpBinding" bindingConfiguration="WCFsoap" 
      contract="serviceName.WCFsoap" name="WCFsoap" /> 
</client> 
</system.serviceModel> 
<system.webServer> 
<modules runAllManagedModulesForAllRequests="true"> 
</modules> 
<validation validateIntegratedModeConfiguration="false" /> 
<handlers> 
</handlers> 
</system.webServer> 
<system.codedom>  
</system.codedom> 
<runtime>  
</runtime> 
</configuration> 

Над кодом является Service web.config.Не было прослушивание конечных точек на «https: // ....», которое могло бы принять сообщение

Ошибка «Не было прослушивание конечной точки на« https://test.myservice.com/rally_generic_ws.do?SOAP », который мог принять сообщение. Это часто вызвано неправильным адресом или действием SOAP». Что может быть причиной этой ошибки. Я заблокирован из-за этого. Пожалуйста, направляйте меня.

Следующий выпуск

После выполнения определенных изменений в моем web.config, когда я добавить протокол HTTPS в качестве ссылки на службу в тестовом ФОС клиента я получаю ошибку ниже. Не удается получить метаданные от https://server-uat:8090/service.svc. Если это служба Windows (R) Communication Foundation, к которой у вас есть доступ, убедитесь, что вы включили публикацию метаданных по указанному адресу. Чтобы помочь включить публикацию метаданных, обратитесь к документации MSDN по адресу http://go.microsoft.com/fwlink/?LinkId=65455. Ошибка URI обмена метаданными WS-метаданных: https://server-uat:8090/service.svc Метаданные содержат ссылку, которая не может быть разрешена: 'http://192.168.0.15:8090/service.svc'.
Оконечная точка не прослушивала https://test.myservice.com/rally_generic_ws.do?SOAP , которая могла принять сообщение. Это часто вызвано неправильным адресом или действием SOAP.

См. «Внутреннее исключение», если имеется, для более подробной информации.
Удаленный сервер возвратил ошибку: (404) Не Found.HTTP ПОЛУЧИТЬ Ошибку URI: https://server-uat:8090/service.svc

документ на URL https://server-uat:8090/service.svc не был признан в качестве известного документа type.The сообщения об ошибке от каждого известного типа может помочь вам решить эту проблему: -

Отчет «https://server-uat:8090/service.svc» есть «формат документа не распознается (тип содержимого„текст/html; кодировка = UTF-8“) .'.- удаленное имя не может быть разрешено: «**********» - отчет из документа WSDL: «Формат документа не распознается (тип содержимого« text/html; charset = UTF-8 ») .'.- Отчет от «XML Schema» - это «Документ формат не распознается (тип содержимого - text/html; кодировка = UTF-8 ').'.

Это ошибка, которую я получаю, когда пытаюсь добавить службу в тестовый клиент wcf. В чем причина этой ошибки. Как избавиться от этой ошибки.

По моим сведениям, я думаю, что клиент не смог найти требуемое действие на сервере. Мне нужно изменить в web.config ??

+0

Работает ли он с http вместо https в конечной точке веб-конфигурации? – Cerveser

+0

в адресе конечной точки клиента я предоставил внешний URL-адрес wsdl (https://test.myservicenow.com/rally_generic_ws.do?SOAP), который я оцениваю, чтобы получить желаемый результат. Поскольку URL-адрес находится в https, и у меня есть запустите URL-адрес в браузере с помощью https, поэтому он не должен быть http.The url защищен прокси и пароль. Поэтому я передал требуемый прокси и пароль в моем веб-код службы. –

ответ

1

конечных точки клиента и конечные точки сервиса не делают никакого состязания

<client> 
    <endpoint binding="customBinding" bindingConfiguration="WebHttpBinding_ImyService" 
     contract="IEventLoggerService" name="WebHttpBinding_ImyService" /> 
    </client> 

<service name="Implementation.EventLoggerService" behaviorConfiguration="serviceBehavior"> 
    <endpoint address="" binding="webHttpBinding" contract="Contract.IAccountService" behaviorConfiguration="httpEndpointBehavour"bindingConfiguration="webHttpBinding" /> 
    <endpoint address="mex" binding="mexHttpsBinding" contract="IMetadataExchange" /> 
</service> 

Если посмотреть на адреса ваших услуг, они явно не делают ни одного совпадения адреса, который клиент слушает. Кроме того, нет обслуживания, выполняющего контракт IEventLoggerService.

Возможно ли, что вам не хватает конечной точки обслуживания?

EDIT:

Проблемы у Вас есть то, что этот клиент конечная точка в файле web.config не имеет службы, слушая его

<client> 
    <endpoint address="https://test.myservice.com/rally_generic_ws.do?SOAP" 
     binding="basicHttpBinding" bindingConfiguration="WCFsoap" 
     contract="serviceName.WCFsoap" name="WCFsoap" /> 
</client> 

Сейчас я делаю большое предположение здесь - >, что сервис, который читает ваш файл web.config, должен быть как производителем, так и потребителем этой услуги. Если предположить, что я хотел бы предложить добавить еще одну конечную точку службы, вложенную в тегах услуг в файле web.config

<endpoint address = "https://test.myservicenowmyservice.com/rally_generic_ws.do?SOAP" 
contract = "serviceName.WCFSoap" binding = "BasicHttpBinding" name ="WCFsoap" 
bindingConfiguration ="WCFsoap"/> 

Теперь, если ваша услуга предназначена для выполнения контракта serviceName.WCFSoap, это должно работать нормально. Если нет, то вы должны гарантировать, что любое обслуживание предназначено для выполнения этого контракта, фактически имеет эту конечную точку.

Надеюсь, это поможет

+0

Позвольте мне заключить это: «вы хотите, чтобы я добавила еще одну конечную точку в теге сервисов. И я должен убедиться, что контракт, который я указываю, должен выполнять веб-сервис». Корректируйте меня, если я ошибаюсь? –

+0

Да. Естественно, это предполагает, что у вас есть что-то на вашем сервисе, выполняющее этот контракт. – slorello