尝试创建一个C#客户端(将作为Windows服务开发),将SOAP请求发送到Web服务(并获取结果).
从这个问题我看到了这段代码:
protected virtual WebRequest CreateRequest(ISoapMessage soapMessage)
{
var wr = WebRequest.Create(soapMessage.Uri);
wr.ContentType = "text/xml;charset=utf-8";
wr.ContentLength = soapMessage.ContentXml.Length;
wr.Headers.Add("SOAPAction", soapMessage.SoapAction);
wr.Credentials = soapMessage.Credentials;
wr.Method = "POST";
wr.GetRequestStream().Write(Encoding.UTF8.GetBytes(soapMessage.ContentXml), 0, soapMessage.ContentXml.Length);
return wr;
}
public interface ISoapMessage
{
string Uri { get; }
string ContentXml { get; }
string SoapAction { get; }
ICredentials Credentials { get; }
}
Run Code Online (Sandbox Code Playgroud)
看起来不错,任何人都知道如何使用它,如果这是最好的做法?
我们正在为我们的组织创建一个 web api。API 从 HANA 视图连接和检索数据。我指的是以下链接中提供的示例来建立连接
https://blogs.sap.com/2015/04/15/creating-ac-application-using-sap-hana-and-adonet/
由于 .Net Core 不允许直接引用 DLL,我们正在创建一个本地 nuget 包并引用它(https://docs.nuget.org/ndocs/create-packages/creating-a-package)
初始化 HanaConection 时出现以下错误:
{"版本不匹配:C:\Windows\assembly\GAC_MSIL\Sap.Data.Hana.v3.5\1.0.120.0__0326b8ea63db4bc4\Sap.Data.Hana.v3.5.dll (1.0.120.0), C:\Program Files\sap\hdbclient\libSQLDBCHDB.dll (1.00.112.00.1457615240).":"C:\Program Files\sap\hdbclient\libSQLDBCHDB.dll"}