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

HCL Nomad Web运行LotusScript调用Java Agent报响应内容类型不支持

问题原因分析
  • HCL Nomad Web的NotesHTTPRequest类实现逻辑与桌面端HCL Notes存在差异:桌面端对HTTP响应格式的校验宽松,即便响应格式不符合规范也能正常解析;但Nomad Web底层基于浏览器Fetch API封装,对HTTP响应格式的校验严格度大幅提升。
  • 当前Java Agent的输出不符合标准HTTP响应格式:HTTP协议要求响应头和响应体之间必须用一个单独的空行分隔,现有代码在输出Content-Type头之后直接输出了响应内容,缺少分隔空行,导致Nomad Web无法正确识别内容类型,抛出不支持错误。
  • 旧版本Nomad Web还存在默认Accept头限制的问题:未显式设置Accept头时,部分旧版本仅默认支持application/json等少数内容类型,text/plain不在默认接收列表中。
解决方案

Java Agent侧修改(必改)

在输出Content-Type头后新增一个空行作为响应头、体的分隔,符合HTTP标准格式,修改后代码如下:

try {
    this.output = this.getAgentOutput();
    output.println("Content-Type: text/plain; charset=utf-8");
    // 新增空行分隔响应头与响应体
    output.println();
    
    output.println("ABCDEFGH");
    
} finally {
    output.flush();
    output.close();
}

如果需要更强的版本兼容性,也可以将Content-Type改为application/json; charset=utf-8,同时将返回的字符串内容用双引号包裹,该类型在所有Nomad Web版本中均支持。

LotusScript侧修改(可选,适配旧版本Nomad)

如果修改Java Agent后仍有报错,可以在发送请求前显式设置Accept头,明确告知服务端可接收的内容类型:

Set webRequest = session.CreateHTTPRequest()
webRequest.preferstrings  = True
' 新增Accept头设置,允许接收text/plain格式响应
Call webRequest.SetRequestHeader("Accept", "text/plain, */*")
serverResponse = webRequest.post(serverUrl, jsonPayload) 
效果说明

上述修改后即可解决HTTP Response content type unsupported报错,修改后的逻辑同时兼容桌面端HCL Notes与HCL Nomad Web,不会影响原有功能。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 11:45:08