Skip to content

Contract Negotiation Stuck in REQUESTED State in Policy Enforcement sample #396

@AIMENandresperez

Description

@AIMENandresperez

Bug Report

Describe the Bug

Following the steps in policy/policy-01-policy-enforcement/README.md, the provider connector encounters an error during contract negotiation. The consumer remains in the REQUESTED state, and the process does not reach the FINALIZED state as expected.

The provider logs the following error:

INFO 2025-04-03T10:32:02.764685669 Booting EDC runtime
INFO 2025-04-03T10:32:02.916023811 HTTPS enforcement it not enabled, please enable it in a production environment
INFO 2025-04-03T10:32:03.000776711 HTTPS enforcement it not enabled, please enable it in a production environment
WARNING 2025-04-03T10:32:03.002004276 Config value: no setting found for 'edc.hostname', falling back to default value 'localhost'
WARNING 2025-04-03T10:32:03.114634636 Using the InMemoryVault is not suitable for production scenarios and should be replaced with an actual Vault!
WARNING 2025-04-03T10:32:03.122203039 No TransactionContext registered, a no-op implementation will be used, not suitable for production environments
SLF4J: No SLF4J providers were found.
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See https://www.slf4j.org/codes.html#noProviders for further details.
WARNING 2025-04-03T10:32:03.27527648 No TokenDecorator was registered. The 'scope' field of outgoing protocol messages will be empty
INFO 2025-04-03T10:32:03.75092356 47 service extensions started
INFO 2025-04-03T10:32:03.752200668 Runtime 53401a82-ab31-4fa3-9876-412f29d5aa11 ready
WARNING 2025-04-03T10:32:30.705234647 No source DataAddress validator has been registered for type test, please register one as it is strongly recommended.
INFO 2025-04-03T10:33:20.526443446 Evaluating constraint: location EQ eu
SEVERE 2025-04-03T10:33:20.845707286 ContractNegotiation: ID e974b30d-6412-474d-8f85-bb80a524f952. Fatal error while [Provider] send agreement. Error details:

`

<title>Error 405 El Metodo HTTP POST no es soportado por esta URL</title>

HTTP ERROR 405 El Metodo HTTP POST no es soportado por esta URL

URI:/protocol/negotiations/8277b5b3-2e5c-40d9-b968-74724a757e23/agreement
STATUS:405
MESSAGE:El Metodo HTTP POST no es soportado por esta URL
SERVLET:org.eclipse.jetty.servlet.ServletHandler$Default404Servlet-48b0e701

`

Running the following curl command on the consumer side shows the contract negotiation remains in REQUESTED state:

curl -X GET -H "X-Api-Key: password" "http://localhost:29193/management/v3/contractnegotiations/8277b5b3-2e5c-40d9-b968-74724a757e23" | jq
{
  "@type": "ContractNegotiation",
  "@id": "8277b5b3-2e5c-40d9-b968-74724a757e23",
  "type": "CONSUMER",
  "protocol": "dataspace-protocol-http",
  "state": "REQUESTED",
  "counterPartyId": "provider",
  "counterPartyAddress": "http://localhost:19194/protocol",
  "callbackAddresses": [],
  "createdAt": 1743669199637,
  "@context": {
    "@vocab": "https://w3id.org/edc/v0.0.1/ns/",
    "edc": "https://w3id.org/edc/v0.0.1/ns/",
    "odrl": "http://www.w3.org/ns/odrl/2/"
  }
}

Expected Behavior

The contract negotiation should reach the FINALIZED state when edc.mock.region=eu is set.

Steps to Reproduce

Steps to reproduce the behavior:

Steps from README.md

Additional Context

When using edc.mock.region=us, the negotiation completes successfully with the expected TERMINATED state.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions