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 内にあるすべての変数を取得しています。
私の間違いがわかりますか?ありがとう。