0

C# .Net2 を使用して SOAP メッセージを Web サービスに転送しています

石鹸メッセージは次のとおりです。

<?xml version="1.0"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Header>
        <AUTHHEADER xmlns="http://mysite.com/WebServices/Agent">
            <AgentGUID>24563532-c973-fbf3-d072-d9cf671d5905</AgentGUID>
        </AUTHHEADER>
    </soap:Header>
    <soap:Body>
        <LoginRSA xmlns="http://mysite.com/WebServices/Agent">
            <loginId>admin@dt.com</loginId>
            <password>password</password>
            <tenant></tenant>
        </LoginRSA>
    </soap:Body>
</soap:Envelope>

私の C# セクションでは、次のように定義しました。

public class AuthHeader : SoapHeader
{
    public string AgentGUID;
}

[WebService(Namespace = "http://mysite.com/WebServices/Agent", Description = "Some description")]
public class AgentService : WebService
{
    public AuthHeader Authentication;

    [SoapHeader("Authentication")]
    [WebMethod(Description = "SomeDesc.", MessageName = "LoginRSA")]
    public LoginResult LoginRSA(string loginId, string password, string tenant)
    {
        if (Authentication != null)
        {
            string guid = Authentication.AgentGUID;
        }
    }
}

しかし、認証は常に null です。ヘッダーを読み取ることはできませんが、soap:body 内にあるすべての変数を取得しています。

私の間違いがわかりますか?ありがとう。

4

0 に答える 0