v23proxy: Fix a bug and resync with head Mojo

Very minor changes to ensure the examples work again when
USE_MOJO_DEV_PROFILE=1

Change-Id: I4ad7a8e3645ddbe34b875ecbf6fff189da57dc41
diff --git a/go/src/v.io/x/mojo/proxy/fake_service.go b/go/src/v.io/x/mojo/proxy/fake_service.go
index fd0e31d..78a86df 100644
--- a/go/src/v.io/x/mojo/proxy/fake_service.go
+++ b/go/src/v.io/x/mojo/proxy/fake_service.go
@@ -256,7 +256,10 @@
 	}
 
 	// Now produce the *bindings.Message that we will send to the other side.
-	inType := transcoder.MojomStructToVDLType(mm.Parameters, desc)
+	inType, err := transcoder.MojomStructToVDLType(mm.Parameters, desc)
+	if err != nil {
+		return nil, err
+	}
 	message, err := encodeMessageFromVom(header, argptrs, inType)
 	if err != nil {
 		return nil, err
@@ -277,7 +280,10 @@
 	}
 
 	// Decode the *vdl.Value from the mojom bytes and mojom type.
-	outType := transcoder.MojomStructToVDLType(*mm.ResponseParams, desc)
+	outType, err := transcoder.MojomStructToVDLType(*mm.ResponseParams, desc)
+	if err != nil {
+		return nil, err
+	}
 	var outVdlValue *vdl.Value
 	if err := transcoder.MojomToVdl(outMessage.Payload, outType, &outVdlValue); err != nil {
 		return nil, fmt.Errorf("transcoder.MojoToVom failed: %v", err)
diff --git a/go/src/v.io/x/mojo/proxy/proxy.go b/go/src/v.io/x/mojo/proxy/proxy.go
index f9df689..c0d1179 100644
--- a/go/src/v.io/x/mojo/proxy/proxy.go
+++ b/go/src/v.io/x/mojo/proxy/proxy.go
@@ -162,10 +162,16 @@
 func (s *messageReceiver) call(name, method string, value []byte, inParamsType mojom_types.MojomStruct, outParamsType *mojom_types.MojomStruct) ([]byte, error) {
 	s.ctx.Infof("server: %s.%s: %#v", name, method, inParamsType)
 
-	inVType := transcoder.MojomStructToVDLType(inParamsType, s.header.desc)
+	inVType, err := transcoder.MojomStructToVDLType(inParamsType, s.header.desc)
+	if err != nil {
+		return nil, err
+	}
 	var outVType *vdl.Type
 	if outParamsType != nil {
-		outVType = transcoder.MojomStructToVDLType(*outParamsType, s.header.desc)
+		outVType, err = transcoder.MojomStructToVDLType(*outParamsType, s.header.desc)
+		if err != nil {
+			return nil, err
+		}
 	}
 
 	// Decode the vdl.Value from the mojom bytes and mojom type.
diff --git a/mojom/mojom/examples/echo.mojom b/mojom/mojom/examples/echo.mojom
index f0881d5..d3e7b75 100644
--- a/mojom/mojom/examples/echo.mojom
+++ b/mojom/mojom/examples/echo.mojom
@@ -19,7 +19,8 @@
   string str;
 };
 
+[ServiceName="mojo::examples::RemoteEcho"]
 interface RemoteEcho {
   EchoString(string value) => (string value);
   EchoX(array<bool> arg1, aInArg arg2) => (outArgTypes out);
-};
\ No newline at end of file
+};
diff --git a/mojom/mojom/examples/fortune.mojom b/mojom/mojom/examples/fortune.mojom
index cf04ef7..f67ec5a 100644
--- a/mojom/mojom/examples/fortune.mojom
+++ b/mojom/mojom/examples/fortune.mojom
@@ -5,7 +5,8 @@
 [JavaPackage="org.chromium.mojo.examples.fortune"]
 module mojo.examples;
 
+[ServiceName="mojo::examples::Fortune"]
 interface Fortune {
   Get() => (string value);
   Add(string wisdom) => ();
-};
\ No newline at end of file
+};
diff --git a/mojom/mojom/v23proxy.mojom b/mojom/mojom/v23proxy.mojom
index 53272b3..b0427d5 100644
--- a/mojom/mojom/v23proxy.mojom
+++ b/mojom/mojom/v23proxy.mojom
@@ -7,6 +7,7 @@
 
 import "mojo/public/interfaces/bindings/mojom_types.mojom";
 
+[ServiceName="v23proxy::V23"]
 interface V23 {
   // Sets up a communication channel between the caller and the mojo application
   // running in a remote process.