Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CallbackAddress information missing - help wanted #270

Open
IgorBalog-Eng opened this issue Jul 5, 2024 · 2 comments
Open

CallbackAddress information missing - help wanted #270

IgorBalog-Eng opened this issue Jul 5, 2024 · 2 comments
Labels
help wanted Extra attention is needed

Comments

@IgorBalog-Eng
Copy link

UseCase provider posts offer right arrow:

Problem! how can provider know which is consumer callback address since this information is not send by the consumer in any of the previous steps?
Callback address can have that :callback part, which is unknow for the provider to be able to proceed with contract negotiation. Event message does not have callbackAddress so it can be used in following calls.
Provider cannot know what is :callback part so it can somehow construct agreement URL from first (ContractOfferMessage) request.

@IgorBalog-Eng IgorBalog-Eng changed the title CallbackAddress infomration missing CallbackAddress information missing - help wanted Jul 5, 2024
@ssteinbuss ssteinbuss added the help wanted Extra attention is needed label Jul 18, 2024
@arnoweiss
Copy link

arnoweiss commented Jul 25, 2024

I think it's the ContractRequestMessage (Consumer --> Provider) that the Provider must then append with the path elements for each endpoint.

All callback paths are relative to the `callbackAddress` base URL specified in the [Contract Request Message](./contract.negotiation.protocol.md#21-contract-request-message) that initiated a CN. For example, if the `callbackAddress` is specified as `https://consumer.com/callback` and a callback path binding is `negotiations/:consumerPid/offers`, the resolved URL will be `https://consumer.com/callback/negotiations/:consumerPid/offers`.

The definition of callbackAddress fits the requirement pretty well, I suppose.

- The `callbackAddress` is a URL indicating where messages to the [Consumer](../model/terminology.md#consumer) should be sent in asynchronous settings. If the address is not understood, the [Provider](../model/terminology.md#provider) MUST return an UNRECOVERABLE error.

@IgorBalog-Eng
Copy link
Author

Hello Arno,
here I'm considering second use-case, Provider initiating contract negotiation with posting offer to consumer, consumer accepts offer and sends event message. Next step is that Provider sends agreement message, but Provider does not have Consumer callback address, to append proper endpoint. Callback address was not sent by the Consumer, since event message does not have it.
Assuming that there is not "negotiation" to find better "deal", involving sending request message from Consumer to Provider (having Consumer callback address)

Problem that I have is that Provider does not have Consumer callback address to append valid context, so that Provider can continue with negotiation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

3 participants