paascloud/paascloud-master · error · OmcBizException

OMC10031012

OMC10031012

Error message

OMC10031012

What it means

ErrorCodeEnum.OMC10031012 ('upload failed', 上传失败) is thrown by OpcOssServiceImpl.uploadFile when the opc-oss Feign call returns a null Wrapper or a Wrapper in error state. It wraps any failure of the remote OSS file-upload service (network error, Feign fallback, or downstream rejection) as a single business exception.

Solutions

  1. Check that the opc-oss service is running and registered (registry console / /health endpoint)
  2. Inspect opc-oss logs for the real cause (bucket/credentials/size limit) and fix the downstream issue
  3. Verify Feign timeout and fallback configuration for opcOssFeignApi; add retry for transient failures

Example fix

// before
Wrapper<OptUploadFileRespDto> wrapper = opcOssFeignApi.uploadFile(optUploadFileReqDto);
if (null == wrapper || wrapper.error()) {
    throw new OmcBizException(ErrorCodeEnum.OMC10031012);
}
// after
Wrapper<OptUploadFileRespDto> wrapper = opcOssFeignApi.uploadFile(optUploadFileReqDto);
if (null == wrapper || wrapper.error()) {
    log.error("oss upload failed, reason={}", wrapper == null ? "no response/fallback" : wrapper.getError());
    throw new OmcBizException(ErrorCodeEnum.OMC10031012);
}
Defensive patterns

Strategy: retry

Validate before calling

Preconditions.checkNotNull(optUploadFileReqDto, "upload request required");
// optionally check file size/type before calling the remote service

Try / catch

try {
    OptUploadFileRespDto resp = opcOssService.uploadFile(req);
} catch (OmcBizException e) {
    if (e.getCode() == 10031012) { /* surface upload failure; check opc-oss health */ }
    else throw e;
}

Prevention

When it happens

Trigger: Calling uploadFile(optUploadFileReqDto) when the opc-oss service is down/unreachable, the Feign client returns its error fallback (null wrapper), or the OSS service rejects the file (size/type limits, storage failure) — wrapper.error() true.

Common situations: opc-oss provider not registered in the registry (service not deployed), file exceeding OSS size limits, expired OSS credentials/bucket config, network partition between services.

Related errors


AI-assisted analysis of paascloud/paascloud-master@781281a950 (2026-09-10). Data as JSON: /api/errors/0e9a23154b822d08. Report an issue: GitHub.

Appendix: source

Thrown at paascloud-provider/paascloud-provider-omc/src/main/java/com/paascloud/provider/service/impl/OpcOssServiceImpl.java:43

import javax.annotation.Resource;

/**
 * The class Opc oss service.
 *
 * @author paascloud.net@gmail.com
 */
@Slf4j
@Service
public class OpcOssServiceImpl implements OpcOssService {
	@Resource
	private OpcOssFeignApi opcOssFeignApi;

	@Override
	public OptUploadFileRespDto uploadFile(OptUploadFileReqDto optUploadFileReqDto) {
		log.info("uploadFile - 上传附件. optUploadFileReqDto={}", optUploadFileReqDto);
		Wrapper<OptUploadFileRespDto> wrapper = opcOssFeignApi.uploadFile(optUploadFileReqDto);
		if (null == wrapper || wrapper.error()) {
			throw new OmcBizException(ErrorCodeEnum.OMC10031012);
		}
		return wrapper.getResult();
	}

	@Override
	public String getFileUrl(OptGetUrlRequest optGetUrlRequest) {
		log.info("getFileUrl - 获取附件地址. optUploadFileReqDto={}", optGetUrlRequest);
		Wrapper<String> wrapper = opcOssFeignApi.getFileUrl(optGetUrlRequest);
		if (null == wrapper || wrapper.error()) {
			throw new OmcBizException(ErrorCodeEnum.OMC10031013);
		}
		return wrapper.getResult();
	}
}

View on GitHub (pinned to 781281a950)