No, I did not.  I copied the wrong state of my code.  I had the add method 
in there before.  I will update my code to be correct.

On Thursday, October 6, 2016 at 6:25:57 PM UTC-5, Louis Ryan wrote:
>
>
>
> On Wed, Oct 5, 2016 at 2:46 PM, Tim McManamey <tjmcm...@gmail.com 
> <javascript:>> wrote:
>
>> I want to return a List of strings using gRPC.  In my program it seams to 
>> add a string to the repeated value fine, but when I return the value to the 
>> calling program it's empty.  Here is my code:
>>
>> my.proto
>>
>> syntax = "proto3";
>>
>> option java_multiple_files = true;
>> option java_package = my.package.name.testsend";
>> option java_outer_classname = "TestSendProto";
>> option objc_class_prefix = "TS";
>>
>> package testsend;
>>
>> // The greeting service definition.
>> service Greeter {
>>   // Sends a greeting
>>   rpc SayHello (HelloRequest) returns (HelloReply) {}
>>   rpc SayHelloAgain (HelloRequest) returns (ArrayHelloReply) {}
>> }
>>
>> // The request message containing the user's name.
>> message HelloRequest {
>>   string name = 1;
>> }
>>
>> // The response message containing the greetings
>> message HelloReply {
>>   string message = 1;
>> }
>>
>> message ArrayHelloReply {
>>     repeated string message2 = 2;
>> }
>>
>> ////////////////////////////// server /////////////////////////////////
>> import io.grpc.Server;
>> import io.grpc.ServerBuilder;
>> import io.grpc.stub.StreamObserver;
>> import java.io.IOException;
>> import java.util.logging.Logger;
>> import java.util.ArrayList;
>> import java.io.*;
>>
>>
>> /**
>>  *
>>  * @author yotimbo
>>  */
>> public class yoRecvo {
>>   private static final Logger logger = 
>> Logger.getLogger(yoRecvo.class.getName());
>>
>>   /* The port on which the server should run */
>>   private int port = 50051;
>>   private Server server;
>>
>>   private void start() throws IOException {
>>     server = ServerBuilder.forPort(port)
>>         .addService(new GreeterImpl())
>>         .build()
>>         .start();
>>     logger.info("Server started, listening on " + port);
>>     Runtime.getRuntime().addShutdownHook(new Thread() {
>>       @Override
>>       public void run() {
>>         // Use stderr here since the logger may have been reset by its 
>> JVM shutdown hook.
>>         System.err.println("*** shutting down gRPC server since JVM is 
>> shutting down");
>>         yoRecvo.this.stop();
>>         System.err.println("*** server shut down");
>>       }
>>     });
>>   }
>>
>>   private void stop() {
>>     if (server != null) {
>>       server.shutdown();
>>     }
>>   }
>>
>>   /**
>>    * Await termination on the main thread since the grpc library uses 
>> daemon threads.
>>    */
>>   private void blockUntilShutdown() throws InterruptedException {
>>     if (server != null) {
>>       server.awaitTermination();
>>     }
>>   }
>>
>>   /**
>>    * Main launches the server from the command line.
>>    */
>>   public static void main(String[] args) throws IOException, 
>> InterruptedException {
>>     final yoRecvo server = new yoRecvo();
>>     server.start();
>>     server.blockUntilShutdown();
>>   }
>>
>>   private class GreeterImpl extends GreeterGrpc.GreeterImplBase {
>>
>>     @Override
>>     public void sayHello(HelloRequest req, StreamObserver<HelloReply> 
>> responseObserver) {
>>       HelloReply reply = HelloReply.newBuilder().setMessage("Hello " + 
>> req.getName()).build();
>>       responseObserver.onNext(reply);
>>       responseObserver.onCompleted();
>>     }
>>     @Override
>>     public void sayHelloAgain(HelloRequest req, 
>> StreamObserver<ArrayHelloReply> responseObserver) {
>>         String str = new String("Yo Dude");
>>         final Logger logger = Logger.getLogger(yoRecvo.class.getName());
>>
>>         ArrayHelloReply arrayHelloReply = 
>> ArrayHelloReply.newBuilder().build();
>>
>
>
> Did you mean to make the reply empty, would have expected to see calls to 
> add elements to the message2 list here
>  
>
>>         
>>         logger.info("number of elements " + 
>> arrayHelloReply.getMessage2Count());
>>
>>       
>>       responseObserver.onNext(arrayHelloReply);
>>       responseObserver.onCompleted();
>>     }
>>  }
>> }
>>
>> /////////////////////// client //////////////////////////
>>
>> import com.google.protobuf.Descriptors;
>> import io.grpc.ManagedChannel;
>> import io.grpc.ManagedChannelBuilder;
>> import io.grpc.StatusRuntimeException;
>> import java.util.List;
>>
>> import java.util.concurrent.TimeUnit;
>> import java.util.logging.Level;
>> import java.util.logging.Logger;
>>
>>
>> /**
>>  *
>>  * @author yotimbo
>>  */
>> public class yoSendo {
>>     private static final Logger logger = 
>> Logger.getLogger(yoSendo.class.getName());
>>     private final ManagedChannel channel;  //gRPC class, only needed for 
>> server
>>     private final GreeterGrpc.GreeterBlockingStub blockingStub;
>>     
>>     public yoSendo(String host, int port) {
>>         channel = ManagedChannelBuilder.forAddress(host, port)
>>                 .usePlaintext(true)
>>                 .build();
>>         blockingStub = GreeterGrpc.newBlockingStub(channel);  //Greeter 
>> is from proto service, Grpc must be appended
>>     }
>>     
>>     public void shutdown() throws InterruptedException {
>>     channel.shutdown().awaitTermination(5, TimeUnit.SECONDS);
>>   }
>>
>>   /** Say hello to server. */
>>   public void greet(String name) {
>>     List mylist;
>>     logger.info("Will try to greet " + name + " ...");
>>     HelloRequest request = 
>> HelloRequest.newBuilder().setName(name).build();
>>     HelloReply response;
>>     ArrayHelloReply arrayResponse;
>>     try {
>>       response = blockingStub.sayHello(request);
>>     } catch (StatusRuntimeException e) {
>>       logger.log(Level.WARNING, "RPC failed: {0}", e.getStatus());
>>       return;
>>     }   
>>     logger.info("Greeting: " + response.getMessage());
>>     try {
>>       arrayResponse = blockingStub.sayHelloAgain(request);
>>     logger.info(arrayResponse.getAllFields().toString());
>>     } catch (StatusRuntimeException e) {
>>       logger.log(Level.WARNING, "RPC failed: {0}", e.getStatus());
>>       return;
>>     }   
>>     logger.info("Greeting: " + arrayResponse.getMessage2Count());
>>     
>>   }
>>   
>>   public static void main(String[] args) throws Exception{
>>          yoSendo client = new yoSendo("localhost", 50051);
>>     try {
>>       /* Access a service running on the local machine on port 50051 */
>>       String user = "world";
>>       if (args.length > 0) {
>>         user = args[0]; /* Use the arg as the name to greet if provided */
>>       }   
>>       client.greet(user);
>>     } finally {
>>       client.shutdown();
>>     }   
>>   }
>> }
>>
>> -- 
>> You received this message because you are subscribed to the Google Groups 
>> "grpc.io" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to grpc-io+u...@googlegroups.com <javascript:>.
>> To post to this group, send email to grp...@googlegroups.com 
>> <javascript:>.
>> Visit this group at https://groups.google.com/group/grpc-io.
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/grpc-io/2b745870-9ab4-4de5-8bdc-e1a3322cb238%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/grpc-io/2b745870-9ab4-4de5-8bdc-e1a3322cb238%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"grpc.io" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to grpc-io+unsubscr...@googlegroups.com.
To post to this group, send email to grpc-io@googlegroups.com.
Visit this group at https://groups.google.com/group/grpc-io.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/grpc-io/72d16ed6-eef3-4d31-9e39-cc49f3b89780%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to