Моя служба WCF [с использованием basicHttpBinding] размещена на IIS 6. Я могу получить к ней доступ через? Wsdl в URL службы в браузере IE.
У меня есть презентационный слой в моем клиенте winforms, и я добавил ссылку на этот сервис с помощью опции ServiceReferences в VS.Net, которая затем создала прокси.
Когда я вызываю метод в этой службе, я получаю это исключение. Что я могу здесь упустить? Спасибо.
"Значение не может быть нулевым. Имя параметра uri." в
System.ServiceModel.Description.ClientViaBehavior..ctor (Uri uri)
в System.ServiceModel.Configuration.ClientViaElement.CreateBehavior ()
в
System.ServiceModel.Description.ConfigLoader.LoadBehaviors [T] (ServiceModelExtensionCollectionElement 1
behaviorElement, KeyedByTypeCollection
1 поведения, логическое значение
commonBehaviors) * +1010 *
в
System.ServiceModel.Description.ConfigLoader.LoadChannelBehaviors (ServiceEndpoint
serviceEndpoint, String configurationName)
в System.ServiceModel.ChannelFactory.ApplyConfiguration (String
имя_конфигурации) в
System.ServiceModel.ChannelFactory.InitializeEndpoint (String
имя_конфигурации, адрес EndpointAddress) в
System.ServiceModel.ChannelFactory 1..ctor(String
endpointConfigurationName, EndpointAddress remoteAddress) at
System.ServiceModel.EndpointTrait
1.CreateSimplexFactory () в
System.ServiceModel.EndpointTrait 1.CreateChannelFactory() at
System.ServiceModel.ClientBase
1.CreateChannelFactoryRef (EndpointTrait 1
endpointTrait) at
System.ServiceModel.ClientBase
1.InitializeChannelFactoryRef () в
System.ServiceModel.ClientBase`1..ctor () в
TestingClient..ctor () в C: \ Presentation \ Service
References \ ServiceReference1 \ Reference.cs: строка 268
Вот мой конфиг xml для сервера и клиента:
* Сервер:
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="ProviderBinding" closeTimeout="00:01:00" openTimeout="00:01:00"
receiveTimeout="00:10:00" sendTimeout="00:10:00" allowCookies="false"
bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
maxBufferSize="2147483647" maxBufferPoolSize="524288" maxReceivedMessageSize="2147483647"
messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered" useDefaultWebProxy="true">
<readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
maxBytesPerRead="4096" maxNameTableCharCount="16384" />
<security mode="Transport">
<transport clientCredentialType="None" proxyCredentialType="None" realm="" />
<message clientCredentialType="UserName" algorithmSuite="Default" />
</security>
</binding>
</basicHttpBinding>
</bindings>
<services>
<service name="PTSWeb.PriceTestingService" behaviorConfiguration="PTSWeb.Service1Behavior">
<!-- Service Endpoints -->
<endpoint address="" binding="basicHttpBinding" contract="PTSWeb.IPriceTesting">
<identity>
<dns value="localhost"/>
</identity>
</endpoint>
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="PTSWeb.Service1Behavior">
<serviceMetadata httpGetEnabled="true"/>
<serviceDebug includeExceptionDetailInFaults="true"/>
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
* Клиент:
<system.serviceModel>
<client>
<endpoint address="http://localhost/PTSWeb/PTSWebService.svc"
behaviorConfiguration="PTSWeb.Service1Behavior" binding="basicHttpBinding"
bindingConfiguration="IPriceTestingBinding" contract="IPriceTesting"
name="IPriceTestingPort" />
<endpoint address="https://qaserver/webservice"
binding="basicHttpBinding" bindingConfiguration="ProviderBinding"
contract="Provider" name="ProviderPort" />
</client>
<bindings>
<basicHttpBinding>
<binding name="IPriceTestingBinding" closeTimeout="00:01:00"
openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:10:00"
allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
maxBufferSize="2147483647" maxBufferPoolSize="524288" maxReceivedMessageSize="2147483647"
messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"
useDefaultWebProxy="true">
<readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
maxBytesPerRead="4096" maxNameTableCharCount="16384" />
<security mode="None" />
</binding>
<binding name="ProviderBinding" closeTimeout="00:01:00" openTimeout="00:01:00"
receiveTimeout="00:10:00" sendTimeout="00:10:00" allowCookies="false"
bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
maxBufferSize="2147483647" maxBufferPoolSize="524288" maxReceivedMessageSize="2147483647"
messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered" useDefaultWebProxy="true">
<readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
maxBytesPerRead="4096" maxNameTableCharCount="16384" />
<security mode="Transport">
<transport clientCredentialType="None" proxyCredentialType="None" realm="" />
<message clientCredentialType="UserName" algorithmSuite="Default" />
</security>
</binding>
</basicHttpBinding>
</bindings>
<behaviors>
<endpointBehaviors>
<behavior name="PTSWeb.Service1Behavior">
<clientVia/>
</behavior>
</endpointBehaviors>
</behaviors>
</system.serviceModel>