You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

IBM ClearQuest OSLC DELETE方法无法释放活跃连接求助

问题:JAZZ OSLC 注销连接失败(VB.NET/Blue Prism环境)

根据CMT OSLC JAZZ文档的会话管理章节,我尝试用DELETE方法注销活跃连接但未成功。我们使用依赖VB.NET代码的Blue Prism,编写了如下代码执行注销,但连接仍未释放,求解决方案。

我的VB.NET代码:

Dim request As System.Net.HttpWebRequest = CType(System.Net.WebRequest.Create("https://your-server/cqweb/oslc/session"), System.Net.HttpWebRequest)
request.Method = "DELETE"
request.Headers("Authorization") = "Basic " & base64AuthHeader ' ← 已编码的username:password
request.Headers("OSLC-Core-Version") = "2.0"
request.Accept = "application/json"

Try
    Dim response As System.Net.HttpWebResponse = CType(request.GetResponse(), System.Net.HttpWebResponse)
    If response.StatusCode = System.Net.HttpStatusCode.NoContent Then
        logoutMessage = " Successfully logged out."
    Else
        logoutMessage = "Logout failed. Status: " & response.StatusCode.ToString()
    End If
    response.Close()
Catch ex As System.Net.WebException
    logoutMessage = "Error during logout: " & ex.Message
End Try

解决方案建议:

  • 传递会话ID Cookie:多数JAZZ实例要求注销时携带登录时生成的JSESSIONID,否则无法定位要销毁的会话。添加Cookie容器并传入有效JSESSIONID:

    Dim cookieContainer As New System.Net.CookieContainer()
    request.CookieContainer = cookieContainer
    ' 替换为登录接口返回的JSESSIONID值
    cookieContainer.Add(New System.Net.Cookie("JSESSIONID", "your-active-session-id", "/", "your-server"))
    
  • 使用LTPA令牌认证:Basic认证可能不适用于注销请求,改用登录响应中返回的LtpaToken2令牌作为Authorization头:

    request.Headers("Authorization") = "LtpaToken2 " & yourLtpaToken2Value
    
  • 确认注销端点正确性:不同JAZZ产品的注销端点可能不同,检查文档确认是否应为/rm/oslc/session或其他路径,而非/cqweb/oslc/session。

  • 完整读取响应流:仅关闭响应可能导致请求未被服务器完全处理,在关闭前读取响应内容:

    Try
        Dim response As System.Net.HttpWebResponse = CType(request.GetResponse(), System.Net.HttpWebResponse)
        ' 读取响应流确保请求完成
        Using reader As New System.IO.StreamReader(response.GetResponseStream())
            Dim unusedResponse As String = reader.ReadToEnd()
        End Using
        ' 后续状态判断逻辑
        response.Close()
    Catch ex As System.Net.WebException
        ' 异常处理
    End Try
    
  • 排查Blue Prism环境限制:Blue Prism的代码执行沙箱可能存在代理拦截、会话复用或权限限制,先在本地独立运行VB.NET代码测试,确认是否是环境导致的问题。


内容的提问来源于stack exchange,提问作者Susamay Halder

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 17:28:18