У нас есть установка с разработкой и производственной средой. Поэтому, когда разработка и тестирование завершены, каждый сервер имеет одинаковые веб-сервисы.
Это мой первый раз, но на Dev. Я написал WebService и клиент C #, используя функцию «Добавить ссылку на службу» в Visual Studio (2017). Итак, у меня есть файл app.config, подобный этому:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="BizTalkInterfaceServiceSoapBinding">
<security mode="Transport">
<transport clientCredentialType="Basic" proxyCredentialType="Basic" realm="" />
</security>
</binding>
</basicHttpBinding>
</bindings>
<client>
<endpoint address="https://xxx.xxx.xxx.xxx:xxxxx/and/so/on"
binding="basicHttpBinding" bindingConfiguration="BizTalkInterfaceServiceSoapBinding"
contract="ServiceReference.BizTalkInterface" name="BizTalkInterfacePort" />
</client>
</system.serviceModel>
</configuration>
И структура Connected Services-> ServiceReference с файлами .wsdl, configuration.svcinfo, configuration91.svcinfo и Reference.svcmap. Я не знаю, есть ли смысл показывать содержимое этих файлов?
Я инициализирую клиента следующим образом:
protected BizTalkInterfaceClient client;
protected ServiceBase()
{
client = new BizTalkInterfaceClient("BizTalkInterfacePort");
client.ClientCredentials.Windows.AllowedImpersonationLevel = System.Security.Principal.TokenImpersonationLevel.Impersonation;
client.ClientCredentials.UserName.UserName = "xxx@xxxdomain";
client.ClientCredentials.UserName.Password = "xxxxxx";
}
Во всяком случае - это все хорошо, и работает отлично.
Если вы еще не поняли :-), я хотел бы определить две другие именованные конечные точки, но я не уверен, как это сделать. Есть ли мастер, как это сделать, или мне нужно скопировать / пропустить конечную точку в файле app.config и конфигурации?
Любая помощь будет принята с благодарностью. Заранее большое спасибо.