-
Notifications
You must be signed in to change notification settings - Fork 160
Cannot Receive Invitation on Mobile #2925
Comments
My StoreProvider seems to be getting called. It creates a few stores. But the stores itself are never called. Can somebody confirm that setting your own store on mobile actually works? |
I can confirm that the stores are being called. However, in the particular case of receiving an invitation, no connection entry is created in the mobile store. Only the ProtocolStateStore seems to be called. Why is that? Shouldn't a record be put into the mobile store as well (since the ProtocolStateStore exists only in memory)? |
@Marco77577 I did not try to use the did exchange invitation but i got the connection to work with the out of band invitation. From the documentation about mediators and edge agents without inbound capacity here, you have to go over websockets and allow the mediator to reuse these to return a response. This is necessary because an edge agent does not have a service endpoint. So your agent's options should look like this: val options = Options().apply {
useLocalAgent = true
storage = storeProvider
logger = loggerProvider
websocketURL = mediatorAgentWebsocketUrl
apiToken = mediatorAgentApiKey
transportReturnRoute = "all"
addOutboundTransport("ws")
label = localAgentName
}
agent = Ariesagent.new_(options) Also be sure that Steps for a connection:
At the end you should see that the connection are completed on the mediator. But i did not find out how to find connections on the mobile agent yet. Note: Be sure that all Aries component were uniformly compiled with or without the |
question: |
@mjolk You need an additional instance that acts as mediator for its public endpoint. A client device like a smartphone has no way to be connected to from the internet without the mediator intermediate. |
What I'm trying to do
I am trying to set up the Aries Go Framework on a mobile device. I built the .aar and included it in the Android project. I implemented the
Provider
andStore
interfaces, theLoggerProvider
andLogger
interfaces, and now I am trying to receive an invitation.This is how I create my agent:
Then, I am receiving an invitation by calling
receiveInvitation()
on theDIDExchangeController
. The payload in theRequestEnvelope
looks as follows:As a response, I get no error, but a kind of empty result payload as an answer:
The handler I registered prints the following information (so I guess the
DIDExchangeController
at least receives some data and then does something with it):My logger prints the following:
Is this correct at this point, or am I doing something wrong?
Neither my mediator agent, nor my
Store
implementation is called at any point, which I find very strange. Shouldn't the agent store something? Also, why is myResultEnvelope
empty, except for theconnection_id
?When I try to call
acceptInvitation
using the aboveconnection_id
, I receive an error telling me that some "data cannot be found". This is no surprise, since nothing was stored.Am I missing some important configuration?
I am happy to supply more code should you need it.
The text was updated successfully, but these errors were encountered: