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

MarkLogic调用xdmp:http-put报SVC-SOCCONN连接超时错误求助

XQuery执行xdmp:http-put报SVC-SOCCONN超时排查方案

问题现象

在Query控制台执行配置了digest认证的HTTP PUT请求代码时,触发SVC-SOCCONN报错,套接字连接阶段超时。

问题代码

xquery version "1.0-ml";
xdmp:http-put("http://example.com:8007/v1/documents?uri=my.xml",
     <options xmlns="xdmp:http">
       <authentication method="digest">
         <username>xxxx</username>
         <password>yyyyy</password>
       </authentication>
       <headers>
         <Content-type>application/xml</Content-type>
         <Accept>application/xml</Accept>
       </headers>
     </options>,
     <mydata>this is xml for the PUT body</mydata>)

完整报错

[1.0-ml] SVC-SOCCONN: xdmp:http-put("http://example.com:8007/v1/documents?uri=my.xml", ........., this is xml for the PUT body) -- Socket connect error: wait xx.xxx.xxx.xxx:49860: Timeout
该错误发生在TCP套接字连接阶段,提示等待目标地址xx.xxx.xxx.xxx:49860时连接超时,请求还未进入认证、HTTP协议交互阶段,优先排查网络连通性问题,不要先纠结digest认证配置。

排查解决步骤

  • 第一步先做基础连通性校验:登录MarkLogic服务所在的主机,直接用telnet 目标域名 8007、curl -v 目标地址测试到服务端8007端口的连通性,排查主机防火墙、云安全组、网络ACL是否拦截了出方向到8007端口的请求,这是这类超时最常见的原因。
  • 校验地址解析正确性:对比报错里的xx.xxx.xxx.xxx和你预期的目标服务IP,如果不一致,说明DNS解析错误,可临时把目标地址换成真实服务IP测试,排查hosts配置、DNS服务器的解析规则问题。
  • 检查目标服务状态:确认目标8007端口对应的HTTP应用服务正常运行,没有崩溃、端口监听在127.0.0.1导致外部无法访问、连接数打满拒绝新连接的情况。
  • 排查MarkLogic侧网络配置:如果集群配置了HTTP代理,确认代理规则没有把目标地址的请求路由到无效节点;如果没有配置代理,确认MarkLogic进程的运行身份没有被主机安全策略限制外部网络访问权限。
  • 连通性全部验证通过后再核对认证配置:确认目标服务确实开启digest认证,用户名密码匹配,如果服务配置了自定义realm,需要在认证配置块里补充<realm>你的realm值</realm>参数,否则会出现认证失败(注意认证失败不会报SOCCONN错误,会报401相关的鉴权错误)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.02 23:27:28