Help in PartcipantsClient implementation from dialogflow service

Hello I am trying to develop a ParticipantsClient service object in my dataflow application.

I was getting a 'NoSuchMethod' ERROR duing the Runtime . Can you please help with correct implementation of the ParticipantsClient  below is my code snippet.

=====================================================================================


package My Package;

 


import com.google.protobuf.Duration;
import org.apache.beam.sdk.metrics.Counter;
import org.apache.beam.sdk.transforms.DoFn;
import org.apache.beam.sdk.values.TupleTag;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.google.cloud.dialogflow.v2beta1.ParticipantsClient;
import com.google.cloud.dialogflow.v2beta1.Participant;

import com.google.cloud.dialogflow.v2beta1.*;
import org.apache.beam.sdk.metrics.Distribution;
import org.apache.beam.sdk.metrics.Metrics;
import java.io.IOException;

/**
* This BQ pardo function will do the transformation from event to table row.
*/

public class LabelBQParDo extends DoFn<TranscriptionMessage.ConversationEvent,TableRow> {

static final Logger LOG = LoggerFactory.getLogger(com.bell.LabeltoBQ.dataflow.transforms.LabelBQParDo.class);


final TupleTag<TranscriptionMessage.ConversationEvent> DLQ;
final TupleTag<TableRow> SUCCESS;
private transient ParticipantsClient participantsClient;
//private transient ParticipantsGrpc participantsClient1;

public LabelBQParDo(TupleTag<TranscriptionMessage.ConversationEvent> DLQ, TupleTag<TableRow> SUCCESS) {
this.DLQ = DLQ;
this.SUCCESS = SUCCESS;
}

/**
* Template method to open any resources
*
* @throws IOException
*/

@StartBundle
public void startBundle() throws IOException
{
try
{
long startTime=System.currentTimeMillis();
LOG.debug("Creating the ParticipantsClient service client");
this.participantsClient = ParticipantsClient.Create();

long endTime=System.currentTimeMillis();
LOG.debug("Time taken to create the participant client" + (endTime -startTime)+"ms");

} catch (IOException e)
{
LOG.error("ERRLabel101 - Unable to start participantsClient ", e.getMessage());
throw e;
} catch (Exception e){
LOG.error("ERRLabel101 - Unable to start participantsClient ", e.getMessage());
throw e;
}
}

/**
* Template method to close any resources
*/

@FinishBundle
public void finishBundle()
{
if (this.participantsClient != null)
{
long startTime=System.currentTimeMillis();
this.participantsClient.close();
long endTime=System.currentTimeMillis();
LOG.debug("Time taken to close the participantsClient " + (endTime -startTime)+"ms");
}
}


@ProcessElement
public void processElement(ProcessContext c,MultiOutputReceiver out) {

TranscriptionMessage.ConversationEvent event = c.element();

String conversationId =event.getConversation();
String ParticipantId =event.getNewMessagePayload().getParticipant();

try{

Participant participant = getParticipantUtil(ParticipantId);
System.out.println("+++++++++Participant"+participant);

String actor = participant.getRole().toString();
String name = participant.getName().toString();
String label = "";//participant.SipRecordingMediaLabel.toString();
System.out.println("+++++name:"+name+"actor"+actor+"label"+label);

 


} catch (Exception e) {
S.O.P(EEROR)

}
}

private void log(Params) {

 

LOG.debug(logMessage.replace("\r","").replace("\n",""));
}

private Participant getParticipantUtil(String projectID, String conversation, String participant)
{
Participant participantResponse = null;
//https://cloud.google.com/dotnet/docs/reference/Google.Cloud.Dialogflow.V2/latest/Google.Cloud.Dialog...
//ParticipantName participantName =
//GetParticipantRequest request = new GetParticipantRequest
//{
// ParticipantName = ParticipantName.FromProjectConversationParticipant(projectID, conversation, participant);
//};
try {
participantResponse = participantsClient.getParticipant(participant);
}catch (Exception e)
{
LOG.error("ERROR while getting the particiapant label details "+e);
return null;

}

System.out.println("PARTCIPANT======="+participantResponse.toString());

return participantResponse;

}

}

 

=====================================================================================

 

 ERROR 

2021-08-06T15:56:35.479913830ZError message from worker: java.lang.NoSuchMethodError: com.google.cloud.dialogflow.v2beta1.stub.ParticipantsStubSettings$Builder.setMtlsEndpoint(Ljava/lang/String;)Lcom/google/api/gax/rpc/StubSettings$Builder; com.google.cloud.dialogflow.v2beta1.stub.ParticipantsStubSettings$Builder.createDefault(ParticipantsStubSettings.java:541) com.google.cloud.dialogflow.v2beta1.stub.ParticipantsStubSettings$Builder.access$200(ParticipantsStubSettings.java:404) com.google.cloud.dialogflow.v2beta1.stub.ParticipantsStubSettings.newBuilder(ParticipantsStubSettings.java:375) com.google.cloud.dialogflow.v2beta1.ParticipantsSettings$Builder.createDefault(ParticipantsSettings.java:219) com.google.cloud.dialogflow.v2beta1.ParticipantsSettings$Builder.access$000(ParticipantsSettings.java:200) com.google.cloud.dialogflow.v2beta1.ParticipantsSettings.newBuilder(ParticipantsSettings.java:182) com.google.cloud.dialogflow.v2beta1.ParticipantsClient.create(ParticipantsClient.java:109) com.bell.LabeltoBQ.dataflow.transforms.LabelBQParDo.startBundle(LabelBQParDo.java:68) java.lang.NoSuchMethodError: com.google.cloud.dialogflow.v2beta1.stub.ParticipantsStubSettings$Builder.setMtlsEndpoint(Ljava/lang/String;)Lcom/google/api/gax/rpc/StubSettings$Builder; com.google.cloud.dialogflow.v2beta1.stub.ParticipantsStubSettings$Builder.createDefault(ParticipantsStubSettings.java:541) com.google.cloud.dialogflow.v2beta1.stub.ParticipantsStubSettings$Builder.access$200(ParticipantsStubSettings.java:404) com.google.cloud.dialogflow.v2beta1.stub.ParticipantsStubSettings.newBuilder(ParticipantsStubSettings.java:375) com.google.cloud.dialogflow.v2beta1.ParticipantsSettings$Builder.createDefault(ParticipantsSettings.java:219) com.google.cloud.dialogflow.v2beta1.ParticipantsSettings$Builder.access$000(ParticipantsSettings.java:200) com.google.cloud.dialogflow.v2beta1.ParticipantsSettings.newBuilder(ParticipantsSettings.java:182) com.google.cloud.dialogflow.v2beta1.ParticipantsClient.create(ParticipantsClient.java:109) com.bell.LabeltoBQ.dataflow.transforms.LabelBQParDo.startBundle(LabelBQParDo.java:68) java.lang.NoSuchMethodError: com.google.cloud.dialogflow.v2beta1.stub.ParticipantsStubSettings$Builder.setMtlsEndpoint(Ljava/lang/String;)Lcom/google/api/gax/rpc/StubSettings$Builder; com.google.cloud.dialogflow.v2beta1.stub.ParticipantsStubSettings$Builder.createDefault(ParticipantsStubSettings.java:541) com.google.cloud.dialogflow.v2beta1.stub.ParticipantsStubSettings$Builder.access$200(ParticipantsStubSettings.java:404) com.google.cloud.dialogflow.v2beta1.stub.ParticipantsStubSettings.newBuilder(ParticipantsStubSettings.java:375) com.google.cloud.dialogflow.v2beta1.ParticipantsSettings$Builder.createDefault(ParticipantsSettings.java:219) com.google.cloud.dialogflow.v2beta1.ParticipantsSettings$Builder.access$000(ParticipantsSettings.java:200) com.google.cloud.dialogflow.v2beta1.ParticipantsSettings.newBuilder(ParticipantsSettings.java:182) com.google.cloud.dialogflow.v2beta1.ParticipantsClient.create(ParticipantsClient.java:109) com.bell.LabeltoBQ.dataflow.transforms.LabelBQParDo.startBundle(LabelBQParDo.java:68) java.lang.NoSuchMethodError: com.google.cloud.dialogflow.v2beta1.stub.ParticipantsStubSettings$Builder.setMtlsEndpoint(Ljava/lang/String;)Lcom/google/api/gax/rpc/StubSettings$Builder; com.google.cloud.dialogflow.v2beta1.stub.ParticipantsStubSettings$Builder.createDefault(ParticipantsStubSettings.java:541) com.google.cloud.dialogflow.v2beta1.stub.ParticipantsStubSettings$Builder.access$200(ParticipantsStubSettings.java:404) com.google.cloud.dialogflow.v2beta1.stub.ParticipantsStubSettings.newBuilder(ParticipantsStubSettings.java:375) com.google.cloud.dialogflow.v2beta1.ParticipantsSettings$Builder.createDefault(ParticipantsSettings.java:219) com.google.cloud.dialogflow.v2beta1.ParticipantsSettings$Builder.access$000(ParticipantsSettings.java:200) com.google.cloud.dialogflow.v2beta1.ParticipantsSettings.newBuilder(ParticipantsSettings.java:182) com.google.cloud.dialogflow.v2beta1.ParticipantsClient.create(ParticipantsClient.java:109) com.bell.LabeltoBQ.dataflow.transforms.LabelBQParDo.startBundle(LabelBQParDo.java:68) java.lang.NoSuchMethodError: com.google.cloud.dialogflow.v2beta1.stub.ParticipantsStubSettings$Builder.setMtlsEndpoint(Ljava/lang/String;)Lcom/google/api/gax/rpc/StubSettings$Builder; com.google.cloud.dialogflow.v2beta1.stub.ParticipantsStubSettings$Builder.createDefault(ParticipantsStubSettings.java:541) com.google.cloud.dialogflow.v2beta1.stub.ParticipantsStubSettings$Builder.access$200(ParticipantsStubSettings.java:404) com.google.cloud.dialogflow.v2beta1.stub.ParticipantsStubSettings.newBuilder(ParticipantsStubSettings.java:375) com.google.cloud.dialogflow.v2beta1.ParticipantsSettings$Builder.createDefault(ParticipantsSettings.java:219) com.google.cloud.dialogflow.v2beta1.ParticipantsSettings$Builder.access$000(ParticipantsSettings.java:200) com.google.cloud.dialogflow.v2beta1.ParticipantsSettings.newBuilder(ParticipantsSettings.java:182) com.google.cloud.dialogflow.v2beta1.ParticipantsClient.create(ParticipantsClient.java:109) com.bell.LabeltoBQ.dataflow.transforms.LabelBQParDo.startBundle(LabelBQParDo.java:68) java.lang.NoSuchMethodError: com.google.cloud.dialogflow.v2beta1.stub.ParticipantsStubSettings$Builder.setMtlsEndpoint(Ljava/lang/String;)Lcom/google/api/gax/rpc/StubSettings$Builder; com.google.cloud.dialogflow.v2beta1.stub.ParticipantsStubSettings$Builder.createDefault(ParticipantsStubSettings.java:541) com.google.cloud.dialogflow.v2beta1.stub.ParticipantsStubSettings$Builder.access$200(ParticipantsStubSettings.java:404) com.google.cloud.dialogflow.v2beta1.stub.ParticipantsStubSettings.newBuilder(ParticipantsStubSettings.java:375) com.google.cloud.dialogflow.v2beta1.ParticipantsSettings$Builder.createDefault(ParticipantsSettings.java:219) com.google.cloud.dialogflow.v2beta1.ParticipantsSettings$Builder.access$000(ParticipantsSettings.java:200) com.google.cloud.dialogflow.v2beta1.ParticipantsSettings.newBuilder(ParticipantsSettings.java:182) com.google.cloud.dialogflow.v2beta1.ParticipantsClient.create(ParticipantsClient.java:109) com.bell.LabeltoBQ.dataflow.transforms.LabelBQParDo.startBundle(LabelBQParDo.java:68) java.lang.NoSuchMethodError: com.google.cloud.dialogflow.v2beta1.stub.ParticipantsStubSettings$Builder.setMtlsEndpoint(Ljava/lang/String;)Lcom/google/api/gax/rpc/StubSettings$Builder; com.google.cloud.dialogflow.v2beta1.stub.ParticipantsStubSettings$Builder.createDefault(ParticipantsStubSettings.java:541) com.google.cloud.dialogflow.v2beta1.stub.ParticipantsStubSettings$Builder.access$200(ParticipantsStubSettings.java:404) com.google.cloud.dialogflow.v2beta1.stub.ParticipantsStubSettings.newBuilder(ParticipantsStubSettings.java:375) com.google.cloud.dialogflow.v2beta1.ParticipantsSettings$Builder.createDefault(ParticipantsSettings.java:219) com.google.cloud.dialogflow.v2beta1.ParticipantsSettings$Builder.access$000(ParticipantsSettings.java:200) com.google.cloud.dialogflow.v2beta1.ParticipantsSettings.newBuilder(ParticipantsSettings.java:182) com.google.cloud.dialogflow.v2beta1.ParticipantsClient.create(ParticipantsClient.java:109) com.bell.LabeltoBQ.dataflow.transforms.LabelBQParDo.startBundle(LabelBQParDo.java:68) java.lang.NoSuchMethodError: com.google.cloud.dialogflow.v2beta1.stub.ParticipantsStubSettings$Builder.setMtlsEndpoint(Ljava/lang/String;)Lcom/google/api/gax/rpc/StubSettings$Builder; com.google.cloud.dialogflow.v2beta1.stub.ParticipantsStubSettings$Builder.createDefault(ParticipantsStubSettings.java:541) com.google.cloud.dialogflow.v2beta1.stub.ParticipantsStubSettings$Builder.access$200(ParticipantsStubSettings.java:404) com.google.cloud.dialogflow.v2beta1.stub.ParticipantsStubSettings.newBuilder(ParticipantsStubSettings.java:375) com.google.cloud.dialogflow.v2beta1.ParticipantsSettings$Builder.createDefault(ParticipantsSettings.java:219) com.google.cloud.dialogflow.v2beta1.ParticipantsSettings$Builder.access$000(ParticipantsSettings.java:200) com.google.cloud.dialogflow.v2beta1.ParticipantsSettings.newBuilder(ParticipantsSettings.java:182) com.google.cloud.dialogflow.v2beta1.ParticipantsClient.create(ParticipantsClient.java:109) com.bell.LabeltoBQ.dataflow.transforms.LabelBQParDo.startBundle(LabelBQParDo.java:68)

 

 

 

0 0 183
0 REPLIES 0
Top Solution Authors