If in WorkflowService we define grpcMetadataProvider
WorkflowServiceStubsOptions options = WorkflowServiceStubsOptions.newBuilder()
.setTarget(serverAddress)
.addGrpcMetadataProvider(new AuthorizationGrpcMetadataProvider(tokenSupplier))
.build();
var service = WorkflowServiceStubs.newServiceStubs(options);
Then create operator service via typcal
OperatorServiceStubsOptions operatorServiceStubsOptions =
OperatorServiceStubsOptions.newBuilder()
.setChannel(service.getRawChannel())
.validateAndBuildWithDefaults();
var operatorStub = OperatorServiceStubs.newServiceStubs(operatorServiceStubsOptions).blockingStub();
created operator service does not carry over grpc metadata from service used
user has to explicitly set again:
OperatorServiceStubsOptions operatorServiceStubsOptions =
OperatorServiceStubsOptions.newBuilder()
.setChannel(service.getRawChannel())
.addGrpcMetadataProvider(new AuthorizationGrpcMetadataProvider(tokenSupplier))
.validateAndBuildWithDefaults();
request is to carry over this info in ServiceStubOptions.validateAndBuildWithDefaults if possible.