标签: sap-pi

从 .NET 调用 SAP PI 端点时出现“无法识别的消息版本”

我正在使用一个webserviceinvoking类从带有 C# 服务的 .NET 调用 SAP PI。

我正在使用以下方法来做到这一点:

public object InvokeMethod(string serviceName, string methodName, params object[] args)
{
    System.ServiceModel.Channels.Binding defaultBinding = new BasicHttpBinding(BasicHttpSecurityMode.None);
    if (this.credentials != null)
    {
        ((BasicHttpBinding)defaultBinding).Security.Mode = BasicHttpSecurityMode.TransportCredentialOnly;
        ((BasicHttpBinding)defaultBinding).Security.Transport.ClientCredentialType = HttpClientCredentialType.Basic; //.Ntlm;
    }

    object obj = this.webServiceAssembly.CreateInstance(serviceName, false, BindingFlags.CreateInstance, null, new object[] { defaultBinding, new EndpointAddress(this.webServiceUri.ToString()) }, null, null);

    Type type = obj.GetType();

    if (this.credentials != null)
    {
        PropertyInfo piClientCreds = type.GetProperty("ClientCredentials");
        ClientCredentials creds = (ClientCredentials)piClientCreds.GetValue(obj, null);
        creds.UserName.UserName = this.credentials.UserName;
        creds.UserName.Password = this.credentials.Password;
    }

    return …
Run Code Online (Sandbox Code Playgroud)

c# sap web-services sap-xi sap-pi

3
推荐指数
1
解决办法
9443
查看次数

标签 统计

c# ×1

sap ×1

sap-pi ×1

sap-xi ×1

web-services ×1