# Prerequisites

gRPC service example used in this article: [https://github.com/wehotel/fizz-examples/tree/master/fizz-example-grpc](https://github.com/wehotel/fizz-examples/tree/ master/fizz-example-grpc)

The interface used later in this article is findById. The interface will return the ID of the input parameter and return the name field. The JSON is as follows:

{
"name": "call findById",
"id": "Input parameter ID"
}

# Service and interface maintenance

Centrally maintain gRPC service instances and interfaces to facilitate multiple calls in service orchestration. Because the gateway calls the gRPC interface through generalization, the gRPC service itself needs to enable the reflection function. Please refer to the example:

server = ServerBuilder.forPort(port)
      .addService(new UserService())
      .addService(new ShoppingCartService())
      // Enable gRPC reflection
      .addService(ProtoReflectionService.newInstance())
      .build();

Enter the FizzGate management background, open RPC Management -> Service Management, click Add to fill in the service name and instance information, separate multiple instances with commas, and the gateway will poll for calls.

Open RPC Management -> Interface Management, click Add to enter the interfaces you need into the system. You don’t need to enter unused interfaces.

# Service orchestration calls gRPC interface

Open Service Orchestration -> Interface List, add an interface, select the service (for example: func-test), if there is no service yet, click the New Service button on the right to add it, the interface path is /grpc/user/findById, as shown in the figure :

Select the grpc interface entered in the previous step, and set the grpc interface input parameters. Use the reference value to reference the Query parameter of the service orchestration interface. For parameter configuration, please refer to the document: ([Service Orchestration-Data Conversion](http://www.fizzgate .com/guide/aggregate/configuration.html#%E6%95%B0%E6%8D%AE%E8%BD%AC%E6%8D%A2))

Configure the output of the service orchestration interface:

save interface

# Configure routing

Open Gateway Management -> Route Management, click Add to configure the following routes

# Test

Return to the service orchestration interface and click Test. Fill in the Query parameter id=666. The service orchestration interface transparently transmits the findById data of the gRPC service, and the following results are obtained:

# Publish

The service orchestration interface needs to be released before it can provide services to the outside world. Open the orchestration review -> My application, add a release application, and select the super administrator as the reviewer for the convenience of operation.

Open the pending review list and review the order from the previous step:

Open my application and click on the view operation of the application form:

Publishing interface:

# Access formal interface

Visit http://[gateway IP]:8600/proxy/func-test/grpc/user/findById?id=666

result: