Я делаю клиент C#, вызывающий wsdl webservice. Я добавил ссылку на службу с данной ссылкой, генерируя все необходимые объекты.C# обработчик ошибки обработки мыла
Моя проблема заключается в аутентификации. I судимое с SoapUI и работал с этим заголовком:
<soapenv:Header>
<wsse:Security soapenv:mustUnderstand="1" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<wsse:UsernameToken wsu:Id="UsernameToken-F56DE979FFAADAB54F143496748776515">
<wsse:Username>USER</wsse:Username>
<wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">PASSWORD</wsse:Password>
<wsse:Nonce EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary">iPHOFi2DmB/eL9K6k8NmoQ==</wsse:Nonce>
<wsu:Created>2015-06-22T10:04:47.765Z</wsu:Created>
</wsse:UsernameToken>
</wsse:Security>
Я установил свой файл config.app так:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.serviceModel>
<bindings>
<wsHttpBinding>
<binding name="gblDHLExpressTrackSandpit">
<security mode="Transport" >
<transport clientCredentialType="Basic" proxyCredentialType="None" realm=""/>
</security>
</binding>
</wsHttpBinding>
</bindings>
<client>
<endpoint address="https://wsb.dhl.com:443/sndpt/gblDHLExpressTrack"
binding="wsHttpBinding" bindingConfiguration="gblDHLExpressTrackSandpit"
contract="DHL_WS.gblDHLExpressTrackSandpit" name="gblDHLExpressTrackSandpit" />
</client>
</system.serviceModel>
</configuration>
Но я получил сообщение об ошибке сказав:
Тип содержимого text/html; charset = utf-8 ответного сообщения не соответствует типу содержимого привязки
в моем коде я управлял autentication как этот
client.ClientCredentials.UserName.UserName = "username";
client.ClientCredentials.UserName.Password = @"[email protected]";
, что я делаю неправильно?
Я предлагаю вам использовать Fiddler для изучения трафика HTTPS, что ваши обмены приложений с вебом-сервером. Я предполагаю, что веб-сервер возвращает сообщение об ошибке в формате обычного HTML, когда клиент веб-службы ожидает ответа в другом формате кодирования. – Christoph