我需要从WCF客户端向Java WebService发送如下所示的多组cookie。
Set-Cookie:JSESSIONID = ABCDLhSgAceJ9bpEFSgLvi53;路径= / XXX
Set-Cookie:zz = mmm; kk = qqq; XXXX;
我从登录JAVA WebService接收的这两个cookie,我需要将这些相同的cookie转发到其他Java Web Service以维护会话。我尝试过使用IClientMessageInspector,但无法发送完全两个cookie,如上所示。我只能寄一个。
if (!string.IsNullOrEmpty(cookieValueFromLogin))
{
string[] cookieValues = cookieValueFromLogin.Split(new char[] { ',' });
for (int i = 0; i < cookieValues.Length; i++)
{
if (!string.IsNullOrEmpty(cookieValues[i]))
{
httpRequestMessage.Headers.Add("Cookie", cookieValues[i] );
}
}
}
如果有人知道,请在这里帮忙。
由于 MP
答案 0 :(得分:1)
您实际上只需要设置一个标题键:Cookie。请求cookie标头如下所示:
Cookie:JSESSIONID = ABCDLhSgAceJ9bpEFSgLvi53; zz = mmm; kk = qqq;
下面的修改应该生成正确的值,尽管它几乎可以肯定地实现得更干净。
if (!string.IsNullOrEmpty(cookieValueFromLogin))
{
string[] cookieValues = cookieValueFromLogin.Split(new char[] { ',' });
string cookieHeader = new string();
for (int i = 0; i < cookieValues.Length; i++)
{
if (!string.IsNullOrEmpty(cookieValues[i]))
{
cookieHeader = cookieHeader + cookieValues[i];
}
}
httpRequestMessage.Headers.Add("Cookie", cookieHeader );
}