调用SoftLayer modifyContact接口返回SoftLayer_Exception_Public错误
报错原因排查
SoftLayer_Exception_Public 搭配 Internal Error 是域名注册类接口的通用后端报错,本次请求的常见触发原因如下:
- 参数类型不匹配:当前请求中的
contact.id传值为字符串类型"610994",接口要求该字段为整数类型,类型不匹配会触发后端校验失败直接返回内部错误 - 域名状态异常:你指定的ID对应的域名如果处于过期、转移中、注册局锁定状态,无法执行联系人修改操作
- 字段格式不符合注册局要求:
- 电话号码需要严格符合E.164标准,当前传的
+1.2142142145建议去掉中间的点,改为+12142142145 address2字段当前传的是州缩写TX,该字段应为地址补充信息(如楼层、房间号),州信息已在state字段提交,重复提交错误内容会触发校验失败- 邮编
78758-3420可去掉横杠,部分注册局不支持带特殊符号的邮编格式
- 电话号码需要严格符合E.164标准,当前传的
- 权限不足:你使用的API密钥对应的账号没有该域名的修改权限,或是密钥已过期失效
可行解决方法
- 修正请求参数格式,调整后的请求Body参考:
{ "contact": { "id": 610994, "address1": "11501 Burnet Rd", "address2": "", "city": "Austin", "country": "US", "email": "softlayer-test@test.amsdfw.us", "firstName": "Jeroen", "lastName": "Schaftenaar", "organizationName": "SoftLayer Internal - IBM Interface Development", "phone": "+12142142145", "postalCode": "787583420", "state": "TX", "type": "owner" } }
- 先调用
SoftLayer_Dns_Domain_Registration::getObject接口查询对应ID的域名状态,确认域名处于正常可用状态,无锁定、过期等异常 - 校验API账号权限:确认当前使用的密钥所属账号具备域名管理的完全权限,可尝试先在IBM Cloud控制台手动修改一次该域名的联系人信息,排除权限问题
- 以上操作都无效的情况下,可提交IBM Cloud工单,提供你的请求ID和报错时间点,由后端排查注册局侧返回的具体错误详情
内容的提问来源于stack exchange,提问作者Anupam Somani
相关产品推荐
相关产品推荐

