0

C# クライアントを使用して、Delphi で記述された RemObjects SDK SOAP サーバーに接続しています。最初のログインはできますが、その後のリクエストには次のようなカスタム SOAP ヘッダーが必要です。

  <SOAP-ENV:Header SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:NS1="urn:MyAPI">
    <NS1:ROClientIDHeader xsi:type="NS1:ROClientIDHeader">
      <ID xsi:type="xsd:string">{3EC5A9DF-C6DC-4BFB-8134-37DDCF07910D}</ID>
    </NS1:ROClientIDHeader>
  </SOAP-ENV:Header>

私の既存のコードは次のようになります。

using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
    public partial class MainForm : Form
    {
        public MainForm()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            // Create a new instance of the login service
            MyLibrary.LoginServiceClient LoginClient = new MyLibrary.LoginServiceClient();

            // Call the Login method on the server
            MyLibrary.TLoginInfo LoginInfo = LoginClient.Login("Administrator", "master", 0, 0, MyLibrary.TClientType.ctWindowsClient);

            // Set the Session ID
            var SessionID = LoginInfo.SessionId;

            // Create a new instance of the Utils service
            MyLibrary.UtilsClient UtilsClient = new MyLibrary.UtilsClient();

            // Set the SOAP header //
            //  <SOAP-ENV:Header SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:NS1="urn:EasyIPv6API">
            //    <NS1:ROClientIDHeader xsi:type="NS1:ROClientIDHeader">
            //      <ID xsi:type="xsd:string">{3EC5A9DF-C6DC-4BFB-8134-37DDCF07910D}</ID>
            //    </NS1:ROClientIDHeader>
            //  </SOAP-ENV:Header>

            // Make the call
            var AddResult = UtilsClient.AddValues(1, 1);
        }
    }
}

カスタム ヘッダーをリクエストに追加するにはどうすればよいですか? 私は現在、C# について完全に無知であることを覚えておいてください。

4

2 に答える 2

1

RemObjects の助けを借りて、ようやくこれが機能するようになりました。興味のある方は、その方法を説明する記事を作成しています。あなたはそれを見つけることができますhttp://wiki.remobjects.com/wiki/WIP:Consuming_RemObjects_SOAP_services_with_third_party_clients

于 2012-11-15T13:10:59.530 に答える
0

後続のリクエストが Soap ヘッダーを予期する場合、UtilsClient は、設定可能な SoapHeaderValue のようなプロパティを公開する必要があります。

于 2012-11-06T11:47:26.437 に答える