Проверка подлинности .NET SAP Connection через веб-сервис - PullRequest
2 голосов
/ 13 апреля 2010

Я пытаюсь подключиться к веб-службе, обслуживаемой SAP, и у меня проблема с аутентификацией.

Я просто добавил службу, щелкнув правой кнопкой мыши проект, выбрав ссылку на службу, указав URL-адрес WSDL для службы и нажав ОК.

Затем, когда я попытался вызвать метод из объекта serviceclien, я получил сообщение об ошибке ниже:

The HTTP request is unauthorized with client authentication scheme 'Anonymous'. The
authentication header received from the server was 'Basic realm="SAP Web Application 
Server <hostname>"'.

Web Config Связанная часть:

<basicHttpBinding>
<binding name="binding" 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">
 <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
  maxBytesPerRead="4096" maxNameTableCharCount="16384" />      
 <security mode="None">       
  <transport clientCredentialType="None" proxyCredentialType="None"
   realm="">
   <extendedProtectionPolicy policyEnforcement="Never" />
  </transport>       
  <message clientCredentialType="UserName" algorithmSuite="Default" />
 </security>
</binding>

Кроме того, с какими проблемами я столкнусь? Я не хочу использовать SAP .NET Connector. Спасибо ...

1 Ответ

0 голосов
/ 21 апреля 2011

Перейдите в Навигатор веб-служб на SAP. Загрузите WSDL, он будет состоять из трех частей. Соедините их вместе и создайте прокси .NET для нового WSDL. Сервис, по-видимому, требует от вас базовой аутентификации. Вам нужен пользователь в SAP, который авторизован для вызова сервиса и вызова его бэкэнда. Добавьте в свою службу HTTP-заголовок базовой аутентификации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...