通过WEB服务进行.NET SAP连接身份验证

时间:2010-04-13 12:16:16

标签: .net authentication service sap

我正在尝试连接到SAP提供的Web服务,并且我遇到了身份验证问题。

我只是通过右键单击项目,选择添加服务引用,为服务提供WSDL URL并单击“确定”来添加服务。(单击“确定后要求提供凭据,我提供了它们”)

然后,当我尝试从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 :(得分:0)

转到SAP上的Web Services Navigator。下载WSDL,它将分为三个部分。将它们拼接在一起,并针对新的WSDL构建.NET代理。该服务似乎要求您进行基本身份验证。您需要SAP上的用户,该用户有权调用该服务并调用它的后端。将基本身份验证HTTP标头添加到您的服务中。