eclipse-tractusx / portal-backend

Portal Backend
Apache License 2.0
7 stars 20 forks source link

Backend worker calls unknown enpoint /api/v1/validation for Clearing House Notarization Check #819

Closed gomezbc closed 2 months ago

gomezbc commented 3 months ago

I'm trying to set up a local data-space to test company boarding process using the portal.

Current Behavior

After the company has uploaded their data and, Data Validation, BPN Creation and Identity Wallet Creation have been approved. In the clearing house step, the process tries to call the following endpoint of the Clearing House http://compliance.tx.test/api/v1/validation and fails with 404 status code.

image

The documentation shows that the call has to be made to the notarization component. But this service doesn't have such endpoint. Neither gaia-x registry nor compliance services. Which are the mandatory components.

Expected Behavior

I don't know which should be the expected behavior.

Steps To Reproduce

I am using the following helm charts version: Values used are present inside this zip: values.zip

dependencies:
  # portal
  - condition: portal.enabled
    name: portal
    repository: https://eclipse-tractusx.github.io/charts/dev
    version: 2.0.0
  # cx-iam
  - condition: centralidp.enabled
    name: centralidp
    repository: https://eclipse-tractusx.github.io/charts/dev
    version: 3.0.0
  - condition: sharedidp.enabled
    name: sharedidp
    repository: https://eclipse-tractusx.github.io/charts/dev
    version: 3.0.0
  # discovery-finder para cosas de Digital Twin
  - condition: discoveryfinder.enabled
    name: discoveryfinder
    repository: https://eclipse-tractusx.github.io/charts/dev
    version: 0.2.2
    # bpn-discovery para cosas de Digital Twin
  - condition: bpndiscovery.enabled
    name: bpndiscovery
    repository: https://eclipse-tractusx.github.io/charts/dev
    version: 0.2.2
    # sd-factory
  - condition: selfdescription.enabled
    name: sdfactory
    alias: selfdescription
    repository: https://eclipse-tractusx.github.io/charts/dev
    version: 2.1.19
    # miw
  - name: managed-identity-wallet
    repository: https://eclipse-tractusx.github.io/charts/dev
    version: 0.4.0
    condition: managed-identity-wallet.enabled
  # semantic-hub
  - condition: semantic-hub.enabled
    name: semantic-hub
    repository: https://eclipse-tractusx.github.io/charts/dev
    version: 0.2.2
  - name: bpdm
    condition: bpdm.enabled
    repository: https://eclipse-tractusx.github.io/charts/dev
    version: 5.0.1
    # TX Data Consumer 1
  - name: tx-data-provider
    alias: dataconsumerOne
    version: 0.0.5
    repository: https://eclipse-tractusx.github.io/charts/dev
    condition: dataconsumerOne.enabled
    # TX Data Providers
  - name: tx-data-provider
    version: 0.0.5
    repository: https://eclipse-tractusx.github.io/charts/dev
    condition: tx-data-provider.enabled
    # TX Data Consumer 2
  - name: tx-data-provider
    alias: dataconsumerTwo
    version: 0.0.5
    repository: https://eclipse-tractusx.github.io/charts/dev
    condition: dataconsumerTwo.enabled
    # pgadmin4 as helper tool for easy database access
  - condition: pgadmin4.enabled
    name: pgadmin4
    repository: https://helm.runix.net
    version: 1.25.x

For the GXDCH im using v1

And, i'm using the following domain names pointing to a local minikube cluster:

192.168.49.2    centralidp.tx.test
192.168.49.2    sharedidp.tx.test
192.168.49.2    portal.tx.test
192.168.49.2    portal-backend.tx.test
192.168.49.2    managed-identity-wallets.tx.test
192.168.49.2    semantics.tx.test
192.168.49.2    sdfactory.tx.test
192.168.49.2    dataconsumer-1-dataplane.tx.test
192.168.49.2    dataconsumer-1-controlplane.tx.test
192.168.49.2    dataprovider-dataplane.tx.test
192.168.49.2    dataconsumer-2-dataplane.tx.test
192.168.49.2    dataconsumer-2-controlplane.tx.test
192.168.49.2    pgadmin4.tx.test
192.168.49.2    smtp.tx.test
192.168.49.2    business-partners.tx.test
192.168.49.2    partners-pool.tx.test
192.168.49.2    partners-gate.tx.test
192.168.49.2    registry.tx.test
192.168.49.2    compliance.tx.test
192.168.49.2    notary.tx.test
Phil91 commented 3 months ago

@gomezbc which component are you using for clearinghouse? it seems like the version or component doesn't have the endpoint. but it's needed from the portal backend to be able to proceed the process successfully

gomezbc commented 3 months ago

@Phil91 I'm using v1 deployment for all services. The one specified here: https://gitlab.com/gaia-x/lab/compliance/gx-registry/-/tree/main#existing-deployments.

Which version needs the back-end?

Phil91 commented 3 months ago

@gomezbc I recommend that you join our matrix chat https://matrix.to/#/#tractusx-portal:matrix.eclipse.org , all people that can support with the portal are part of it and the communication is usually faster.

to come back to your question, which version of the backend are you using? than we can clarify which clearinghouse version is needed

gomezbc commented 3 months ago

@Phil91 thanks for the link to the matrix chat.

I'm using version 2.0.0 of the portal helm chart, which uses v2.0.0 of the backend

Phil91 commented 3 months ago

@gomezbc I'll look into it and come back to you asap

gomezbc commented 3 months ago

@Phil91 Thanks a lot! Appreciate it. Looking forward to your update! 😃

Phil91 commented 3 months ago

@gomezbc sorry that it took so long, currently we can't support the validate clearinghouse step with foss applications, we are working on a toggle to disable the calls to the clearinghouse and self description, but that will be available in the future. for now we could solve your issue by running a custom sql script on the database to skip the clearinghouse and self description process.

WITH applications AS (
    SELECT distinct ca.id as Id, ca.checklist_process_id as ChecklistId
    FROM portal.company_applications as ca
             JOIN portal.application_checklist as ac ON ca.id = ac.application_id
    where ca.application_status_id = 7 and ac.application_checklist_entry_type_id = 6 and ac.application_checklist_entry_status_id = 4
),
updated AS (
 UPDATE portal.application_checklist
     SET application_checklist_entry_status_id = 3
     WHERE application_id IN (SELECT Id FROM applications)
     RETURNING *
)
INSERT INTO process_steps (id, process_step_type_id, process_step_status_id, date_created, date_last_changed, process_id, message)
SELECT gen_random_uuid(), 12, 1, now(), NULL, a.ChecklistId, NULL
FROM applications a;
gomezbc commented 3 months ago

@Phil91 Thanks for the update and for the workaround with the custom SQL script. Awesome work! 👏

ipa-big commented 3 months ago

Hey guys,

im trying to achieve a similar setup as @gomezbc but I'm stuck in an earlier stage of the company onboarding process:

image

I used the same chart and the same values file (just updated the mail server values) as mentioned in the first post of this issue ( https://github.com/eclipse-tractusx/portal-backend/issues/819#issue-2386059311 ) but the process worker shows the following error message:

{
  "Timestamp": "2024-07-07T14:55:53.5384545+00:00",
  "Level": "Information",
  "MessageTemplate": "Sending HTTP request {HttpMethod} {Uri}",
  "RenderedMessage": "Sending HTTP request \"POST\" \"http://partners-gate.tx.test/v6/sharing-state/ready\"",
  "Properties": {
    "HttpMethod": "POST",
    "Uri": "http://partners-gate.tx.test/v6/sharing-state/ready",
    "EventId": {
      "Id": 100,
      "Name": "RequestStart"
    },
    "SourceContext": "System.Net.Http.HttpClient.BpdmService.ClientHandler",
    "Scope": [
      "HTTP POST http://partners-gate.tx.test/v6/sharing-state/ready"
    ],
    "Application": "Org.Eclipse.TractusX.Portal.Backend.Process.Worker"
  }
}

[14:55:53 INF] Received HTTP response headers after 206.0957ms - 400

Additionally, the logs of the bpdm services (cleaning-service, gate, pool) show error messages which indicate the services are not able to communicate with each other due to a wrong client/security setup from the values file:

Cleaning Service:

2024-07-07 15:09:00.014 ERROR [System    ] [No Request] [scheduling-1   ] o.e.t.b.c.service.CleaningServiceDummy   : Error while processing cleaning task

org.springframework.security.oauth2.client.ClientAuthorizationException: [invalid_token_response] An error occurred while attempting to retrieve the OAuth 2.0 Access Token Response: 401 Unauthorized: [no body]
    at org.springframework.security.oauth2.client.ClientCredentialsOAuth2AuthorizedClientProvider.getTokenResponse(ClientCredentialsOAuth2AuthorizedClientProvider.java:96) ~[spring-security-oauth2-client-6.2.4.jar!/:6.2.4]
    Suppressed: reactor.core.publisher.FluxOnAssembly$OnAssemblyException: 
Error has been observed at the following site(s):
    *__checkpoint ⇢ Request to POST /v6/golden-record-tasks/step-reservations [DefaultWebClient]

Gate:

2024-07-07 15:11:00.076 ERROR [System    ] [No Request] [scheduling-1   ] o.s.s.s.TaskUtils$LoggingErrorHandler    : Unexpected error occurred in scheduled task

org.springframework.security.oauth2.client.ClientAuthorizationException: [invalid_token_response] An error occurred while attempting to retrieve the OAuth 2.0 Access Token Response: 401 Unauthorized: [no body]
    at org.springframework.security.oauth2.client.ClientCredentialsOAuth2AuthorizedClientProvider.getTokenResponse(ClientCredentialsOAuth2AuthorizedClientProvider.java:96) ~[spring-security-oauth2-client-6.2.4.jar!/:6.2.4]
    Suppressed: reactor.core.publisher.FluxOnAssembly$OnAssemblyException: 
Error has been observed at the following site(s):
    *__checkpoint ⇢ Request to POST /v6/golden-record-tasks/state/search [DefaultWebClient]

Pool:

2024-07-07 15:13:30.010 ERROR [System    ] [No Request] [scheduling-1   ] e.t.b.p.s.TaskStepFetchAndReserveService : Error while processing cleaning task

org.springframework.security.oauth2.client.ClientAuthorizationException: [invalid_token_response] An error occurred while attempting to retrieve the OAuth 2.0 Access Token Response: 401 Unauthorized: [no body]
    at org.springframework.security.oauth2.client.ClientCredentialsOAuth2AuthorizedClientProvider.getTokenResponse(ClientCredentialsOAuth2AuthorizedClientProvider.java:96) ~[spring-security-oauth2-client-6.2.4.jar!/:6.2.4]
    Suppressed: reactor.core.publisher.FluxOnAssembly$OnAssemblyException: 
Error has been observed at the following site(s):
    *__checkpoint ⇢ Request to POST /v6/golden-record-tasks/step-reservations [DefaultWebClient]

I tried many different client/security settings for the bpdm when running along with the umbrella services and finally ended up disabling the authentication complete by using the "no-auth" spring profile. At least, this resolved the "401 unauthorized" Problem but i was still stuck in the "BPN Creation" Step.

@gomezbc Did I miss something from your description in order to reach your stage of the onboarding?

@Phil91 Does a helm chart exist which includes umbrella and bpdm services and is tested regarding version compatibility of the services? I tried many different variations of services / versions / content of the values files but not luck in onboarding a company

Thanks for your support.

gomezbc commented 3 months ago

Hi @ipa-big , to achieve BPDM integration i had to modify the centralidp keycloak configuration by adding the keyclaok clients BPDM components needed. Because BPDM chart uses the following keycloak config https://github.com/eclipse-tractusx/bpdm/blob/main/charts/bpdm/templates/keycloakRealm.tpl , as a workaround i merged the centralidp and BPDM keycloak config using jq utility.

This is the output json: CX-Central-realm.json

How to replace the original centralidp with the new configuration:

  1. Replace the attached file with the file in this folder init-container/iam/centralidp/R2405
  2. Assuming you are using minikube, we are going to push the new image to the cluster following this guide
  3. Place your terminal in init-container folder and run the following script
  4. Reinstall the helm chart
eval $(minikube docker-env)
docker build -t tractusx/umbrella-init-container:0.1.0-init .

Check authentication events

You can check if the client authentication works by checking the events in centralidp: image

I hope it can help you. If that's not the case, i think that there is another issue with the creation of a company business partner which i am trying to replicate, as soon as i find the issue i will reply this post.

ipa-big commented 2 months ago

Perfect. The Authentication of the BPDM Services works.

Unfortunately, the error in the onboarding process remains:

Portal-Frontend: image

Process Worker

[18:09:55 INF] Start processing HTTP request POST http://partners-gate.tx.test/v6/sharing-state/ready
{
    "Timestamp": "2024-07-07T18:09:55.7725842+00:00",
    "Level": "Information",
    "MessageTemplate": "Start processing HTTP request {HttpMethod} {Uri}",
    "RenderedMessage": "Start processing HTTP request \"POST\" \"http://partners-gate.tx.test/v6/sharing-state/ready\"",
    "Properties": {
        "HttpMethod": "POST",
        "Uri": "http://partners-gate.tx.test/v6/sharing-state/ready",
        "EventId": {
            "Id": 100,
            "Name": "RequestPipelineStart"
        },
        "SourceContext": "System.Net.Http.HttpClient.BpdmService.LogicalHandler",
        "Scope": ["HTTP POST http://partners-gate.tx.test/v6/sharing-state/ready"],
        "Application": "Org.Eclipse.TractusX.Portal.Backend.Process.Worker"
    }
}
[18:09:55 INF] Request: {"Version": {"Major": 1, "Minor": 1, "Build": -1, "Revision": -1, "MajorRevision": -1, "MinorRevision": -1, "$type": "Version"}, "VersionPolicy": "RequestVersionOrLower", "Content": {"ObjectType": "<>f__AnonymousType0`1[System.Collections.Generic.IEnumerable`1[System.String]]", "Value": {"externalIds": ["5e9ddebb-cae9-4227-ab4d-a1a088cd76bf"]}, "Headers": [{"Key": "Content-Type", "Value": ["application/json; charset=utf-8"], "$type": "KeyValuePair`2"}], "$type": "JsonContent"}, "Method": {"Method": "POST", "$type": "HttpMethod"}, "RequestUri": "http://partners-gate.tx.test/v6/sharing-state/ready", "Headers": [{"Key": "Authorization", "Value": ["Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJjUHRZbVZVUi1KZ0R5OGloNl9LSEItU3pWLTR2N2xzVWlPZldZSlNhTEdNIn0.eyJleHAiOjE3MjAzNzYwOTUsImlhdCI6MTcyMDM3NTc5NSwianRpIjoiZDNiNTE0NzgtNWM0ZC00NDM0LWI2N2YtODg4NWJjZjExMWIxIiwiaXNzIjoiaHR0cDovL2NlbnRyYWxpZHAudHgudGVzdC9hdXRoL3JlYWxtcy9DWC1DZW50cmFsIiwiYXVkIjpbIkNsMTYtQ1gtQlBETUdhdGUiLCJDbDctQ1gtQlBETSIsInRlY2huaWNhbF9yb2xlc19tYW5hZ2VtZW50Il0sInN1YiI6ImYwMTRlZDVkLTllMDUtNGYyOS1hNWMwLTIyN2M3ZTdiNDc5ZSIsInR5cCI6IkJlYXJlciIsImF6cCI6InNhLWNsNy1jeC01IiwicmVzb3VyY2VfYWNjZXNzIjp7IkNsMTYtQ1gtQlBETUdhdGUiOnsicm9sZXMiOlsid3JpdGVfb3V0cHV0X3BhcnRuZXIiLCJ3cml0ZV9zaGFyaW5nX3N0YXRlIiwicmVhZF9zaGFyaW5nX3N0YXRlIiwicmVhZF9vdXRwdXRfcGFydG5lciIsInJlYWRfc3RhdHMiLCJyZWFkX291dHB1dF9jaGFuZ2Vsb2ciLCJyZWFkX2lucHV0X2NoYW5nZWxvZyIsInJlYWRfaW5wdXRfcGFydG5lciIsIndyaXRlX2lucHV0X3BhcnRuZXIiXX0sIkNsNy1DWC1CUERNIjp7InJvbGVzIjpbInJlYWRfbWV0YWRhdGEiLCJyZWFkX2NoYW5nZWxvZyIsIndyaXRlX21ldGFkYXRhIiwicmVhZF9wYXJ0bmVyX21lbWJlciIsInJlYWRfY2hhbmdlbG9nX21lbWJlciIsIndyaXRlX3BhcnRuZXIiLCJyZWFkX3BhcnRuZXIiXX0sInRlY2huaWNhbF9yb2xlc19tYW5hZ2VtZW50Ijp7InJvbGVzIjpbIkJQRE0gUG9vbCBBZG1pbiIsIkJQRE0gU2hhcmluZyBBZG1pbiJdfX0sInNjb3BlIjoib3BlbmlkIHByb2ZpbGUgZW1haWwiLCJicG4iOiJCUE5MMDAwMDAwMDNDUkhLIiwiZW1haWxfdmVyaWZpZWQiOmZhbHNlLCJjbGllbnRIb3N0IjoiMTAuMjQ0LjAuMSIsInByZWZlcnJlZF91c2VybmFtZSI6InNlcnZpY2UtYWNjb3VudC1zYS1jbDctY3gtNSIsImNsaWVudEFkZHJlc3MiOiIxMC4yNDQuMC4xIiwiY2xpZW50X2lkIjoic2EtY2w3LWN4LTUifQ.UQWtKebzCA32hYdax5zQ5T4FkoQInNQlgnNP15Kgs1b7o_Hr0UH1uK1PtAHTQd-bkBtipd7N5-8a1XqU8PawVgEVe53JjmyJKp_Cprt2VCdPORwqcTvgZbG2-XB6uVo3gL6hUzNeAeTOKy-KN_Hqo38bO5dCbXlPx2VN3ulvmaoKbmQNrszBVSm0fS4hrcctm48m7JgTmtdnmTkOICvOak_8CeFATpmor5cGANoeE5B0rS05TIaC82Ld0PmJtoQog2DT-sgskyjOYnD8iUaFlYQvKgcc2qZqVD-JFCed0E33EQRaffqOLdJDTn1M5d3Vyn7I2kXb4YRt0iPGDRLwxg"], "$type": "KeyValuePair`2"}], "Properties": [], "Options": [], "$type": "HttpRequestMessage"}
{
    "Timestamp": "2024-07-07T18:09:55.7729419+00:00",
    "Level": "Information",
    "MessageTemplate": "Request: {@Request}",
    "RenderedMessage": "Request: HttpRequestMessage { Version: Version { Major: 1, Minor: 1, Build: -1, Revision: -1, MajorRevision: -1, MinorRevision: -1 }, VersionPolicy: RequestVersionOrLower, Content: JsonContent { ObjectType: <>f__AnonymousType0`1[System.Collections.Generic.IEnumerable`1[System.String]], Value: { externalIds: [\"5e9ddebb-cae9-4227-ab4d-a1a088cd76bf\"] }, Headers: [KeyValuePair`2 { Key: \"Content-Type\", Value: [\"application/json; charset=utf-8\"] }] }, Method: HttpMethod { Method: \"POST\" }, RequestUri: http://partners-gate.tx.test/v6/sharing-state/ready, Headers: [KeyValuePair`2 { Key: \"Authorization\", Value: [\"Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJjUHRZbVZVUi1KZ0R5OGloNl9LSEItU3pWLTR2N2xzVWlPZldZSlNhTEdNIn0.eyJleHAiOjE3MjAzNzYwOTUsImlhdCI6MTcyMDM3NTc5NSwianRpIjoiZDNiNTE0NzgtNWM0ZC00NDM0LWI2N2YtODg4NWJjZjExMWIxIiwiaXNzIjoiaHR0cDovL2NlbnRyYWxpZHAudHgudGVzdC9hdXRoL3JlYWxtcy9DWC1DZW50cmFsIiwiYXVkIjpbIkNsMTYtQ1gtQlBETUdhdGUiLCJDbDctQ1gtQlBETSIsInRlY2huaWNhbF9yb2xlc19tYW5hZ2VtZW50Il0sInN1YiI6ImYwMTRlZDVkLTllMDUtNGYyOS1hNWMwLTIyN2M3ZTdiNDc5ZSIsInR5cCI6IkJlYXJlciIsImF6cCI6InNhLWNsNy1jeC01IiwicmVzb3VyY2VfYWNjZXNzIjp7IkNsMTYtQ1gtQlBETUdhdGUiOnsicm9sZXMiOlsid3JpdGVfb3V0cHV0X3BhcnRuZXIiLCJ3cml0ZV9zaGFyaW5nX3N0YXRlIiwicmVhZF9zaGFyaW5nX3N0YXRlIiwicmVhZF9vdXRwdXRfcGFydG5lciIsInJlYWRfc3RhdHMiLCJyZWFkX291dHB1dF9jaGFuZ2Vsb2ciLCJyZWFkX2lucHV0X2NoYW5nZWxvZyIsInJlYWRfaW5wdXRfcGFydG5lciIsIndyaXRlX2lucHV0X3BhcnRuZXIiXX0sIkNsNy1DWC1CUERNIjp7InJvbGVzIjpbInJlYWRfbWV0YWRhdGEiLCJyZWFkX2NoYW5nZWxvZyIsIndyaXRlX21ldGFkYXRhIiwicmVhZF9wYXJ0bmVyX21lbWJlciIsInJlYWRfY2hhbmdlbG9nX21lbWJlciIsIndyaXRlX3BhcnRuZXIiLCJyZWFkX3BhcnRuZXIiXX0sInRlY2huaWNhbF9yb2xlc19tYW5hZ2VtZW50Ijp7InJvbGVzIjpbIkJQRE0gUG9vbCBBZG1pbiIsIkJQRE0gU2hhcmluZyBBZG1pbiJdfX0sInNjb3BlIjoib3BlbmlkIHByb2ZpbGUgZW1haWwiLCJicG4iOiJCUE5MMDAwMDAwMDNDUkhLIiwiZW1haWxfdmVyaWZpZWQiOmZhbHNlLCJjbGllbnRIb3N0IjoiMTAuMjQ0LjAuMSIsInByZWZlcnJlZF91c2VybmFtZSI6InNlcnZpY2UtYWNjb3VudC1zYS1jbDctY3gtNSIsImNsaWVudEFkZHJlc3MiOiIxMC4yNDQuMC4xIiwiY2xpZW50X2lkIjoic2EtY2w3LWN4LTUifQ.UQWtKebzCA32hYdax5zQ5T4FkoQInNQlgnNP15Kgs1b7o_Hr0UH1uK1PtAHTQd-bkBtipd7N5-8a1XqU8PawVgEVe53JjmyJKp_Cprt2VCdPORwqcTvgZbG2-XB6uVo3gL6hUzNeAeTOKy-KN_Hqo38bO5dCbXlPx2VN3ulvmaoKbmQNrszBVSm0fS4hrcctm48m7JgTmtdnmTkOICvOak_8CeFATpmor5cGANoeE5B0rS05TIaC82Ld0PmJtoQog2DT-sgskyjOYnD8iUaFlYQvKgcc2qZqVD-JFCed0E33EQRaffqOLdJDTn1M5d3Vyn7I2kXb4YRt0iPGDRLwxg\"] }], Properties: [], Options: [] }",
    "Properties": {
        "Request": {
            "Version": {
                "Major": 1,
                "Minor": 1,
                "Build": -1,
                "Revision": -1,
                "MajorRevision": -1,
                "MinorRevision": -1,
                "_typeTag": "Version"
            },
            "VersionPolicy": "RequestVersionOrLower",
            "Content": {
                "ObjectType": "<>f__AnonymousType0`1[System.Collections.Generic.IEnumerable`1[System.String]]",
                "Value": {
                    "externalIds": ["5e9ddebb-cae9-4227-ab4d-a1a088cd76bf"]
                },
                "Headers": [{
                        "Key": "Content-Type",
                        "Value": ["application/json; charset=utf-8"],
                        "_typeTag": "KeyValuePair`2"
                    }
                ],
                "_typeTag": "JsonContent"
            },
            "Method": {
                "Method": "POST",
                "_typeTag": "HttpMethod"
            },
            "RequestUri": "http://partners-gate.tx.test/v6/sharing-state/ready",
            "Headers": [{
                    "Key": "Authorization",
                    "Value": ["Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJjUHRZbVZVUi1KZ0R5OGloNl9LSEItU3pWLTR2N2xzVWlPZldZSlNhTEdNIn0.eyJleHAiOjE3MjAzNzYwOTUsImlhdCI6MTcyMDM3NTc5NSwianRpIjoiZDNiNTE0NzgtNWM0ZC00NDM0LWI2N2YtODg4NWJjZjExMWIxIiwiaXNzIjoiaHR0cDovL2NlbnRyYWxpZHAudHgudGVzdC9hdXRoL3JlYWxtcy9DWC1DZW50cmFsIiwiYXVkIjpbIkNsMTYtQ1gtQlBETUdhdGUiLCJDbDctQ1gtQlBETSIsInRlY2huaWNhbF9yb2xlc19tYW5hZ2VtZW50Il0sInN1YiI6ImYwMTRlZDVkLTllMDUtNGYyOS1hNWMwLTIyN2M3ZTdiNDc5ZSIsInR5cCI6IkJlYXJlciIsImF6cCI6InNhLWNsNy1jeC01IiwicmVzb3VyY2VfYWNjZXNzIjp7IkNsMTYtQ1gtQlBETUdhdGUiOnsicm9sZXMiOlsid3JpdGVfb3V0cHV0X3BhcnRuZXIiLCJ3cml0ZV9zaGFyaW5nX3N0YXRlIiwicmVhZF9zaGFyaW5nX3N0YXRlIiwicmVhZF9vdXRwdXRfcGFydG5lciIsInJlYWRfc3RhdHMiLCJyZWFkX291dHB1dF9jaGFuZ2Vsb2ciLCJyZWFkX2lucHV0X2NoYW5nZWxvZyIsInJlYWRfaW5wdXRfcGFydG5lciIsIndyaXRlX2lucHV0X3BhcnRuZXIiXX0sIkNsNy1DWC1CUERNIjp7InJvbGVzIjpbInJlYWRfbWV0YWRhdGEiLCJyZWFkX2NoYW5nZWxvZyIsIndyaXRlX21ldGFkYXRhIiwicmVhZF9wYXJ0bmVyX21lbWJlciIsInJlYWRfY2hhbmdlbG9nX21lbWJlciIsIndyaXRlX3BhcnRuZXIiLCJyZWFkX3BhcnRuZXIiXX0sInRlY2huaWNhbF9yb2xlc19tYW5hZ2VtZW50Ijp7InJvbGVzIjpbIkJQRE0gUG9vbCBBZG1pbiIsIkJQRE0gU2hhcmluZyBBZG1pbiJdfX0sInNjb3BlIjoib3BlbmlkIHByb2ZpbGUgZW1haWwiLCJicG4iOiJCUE5MMDAwMDAwMDNDUkhLIiwiZW1haWxfdmVyaWZpZWQiOmZhbHNlLCJjbGllbnRIb3N0IjoiMTAuMjQ0LjAuMSIsInByZWZlcnJlZF91c2VybmFtZSI6InNlcnZpY2UtYWNjb3VudC1zYS1jbDctY3gtNSIsImNsaWVudEFkZHJlc3MiOiIxMC4yNDQuMC4xIiwiY2xpZW50X2lkIjoic2EtY2w3LWN4LTUifQ.UQWtKebzCA32hYdax5zQ5T4FkoQInNQlgnNP15Kgs1b7o_Hr0UH1uK1PtAHTQd-bkBtipd7N5-8a1XqU8PawVgEVe53JjmyJKp_Cprt2VCdPORwqcTvgZbG2-XB6uVo3gL6hUzNeAeTOKy-KN_Hqo38bO5dCbXlPx2VN3ulvmaoKbmQNrszBVSm0fS4hrcctm48m7JgTmtdnmTkOICvOak_8CeFATpmor5cGANoeE5B0rS05TIaC82Ld0PmJtoQog2DT-sgskyjOYnD8iUaFlYQvKgcc2qZqVD-JFCed0E33EQRaffqOLdJDTn1M5d3Vyn7I2kXb4YRt0iPGDRLwxg"],
                    "_typeTag": "KeyValuePair`2"
                }
            ],
            "Properties": [],
            "Options": [],
            "_typeTag": "HttpRequestMessage"
        },
        "SourceContext": "Org.Eclipse.TractusX.Portal.Backend.Bpdm.Library.BpdmService",
        "HttpMethod": "POST",
        "Uri": "http://partners-gate.tx.test/v6/sharing-state/ready",
        "Scope": ["HTTP POST http://partners-gate.tx.test/v6/sharing-state/ready"],
        "Application": "Org.Eclipse.TractusX.Portal.Backend.Process.Worker"
    }
}
[18:09:55 DBG] Request Content: {"externalIds":["5e9ddebb-cae9-4227-ab4d-a1a088cd76bf"]}
{
    "Timestamp": "2024-07-07T18:09:55.7737369+00:00",
    "Level": "Debug",
    "MessageTemplate": "Request Content: {@Content}",
    "RenderedMessage": "Request Content: \"{\\\"externalIds\\\":[\\\"5e9ddebb-cae9-4227-ab4d-a1a088cd76bf\\\"]}\"",
    "Properties": {
        "Content": "{\"externalIds\":[\"5e9ddebb-cae9-4227-ab4d-a1a088cd76bf\"]}",
        "SourceContext": "Org.Eclipse.TractusX.Portal.Backend.Bpdm.Library.BpdmService",
        "HttpMethod": "POST",
        "Uri": "http://partners-gate.tx.test/v6/sharing-state/ready",
        "Scope": ["HTTP POST http://partners-gate.tx.test/v6/sharing-state/ready"],
        "Application": "Org.Eclipse.TractusX.Portal.Backend.Process.Worker"
    }
}
[18:09:55 INF] Sending HTTP request POST http://partners-gate.tx.test/v6/sharing-state/ready
{
    "Timestamp": "2024-07-07T18:09:55.7738576+00:00",
    "Level": "Information",
    "MessageTemplate": "Sending HTTP request {HttpMethod} {Uri}",
    "RenderedMessage": "Sending HTTP request \"POST\" \"http://partners-gate.tx.test/v6/sharing-state/ready\"",
    "Properties": {
        "HttpMethod": "POST",
        "Uri": "http://partners-gate.tx.test/v6/sharing-state/ready",
        "EventId": {
            "Id": 100,
            "Name": "RequestStart"
        },
        "SourceContext": "System.Net.Http.HttpClient.BpdmService.ClientHandler",
        "Scope": ["HTTP POST http://partners-gate.tx.test/v6/sharing-state/ready"],
        "Application": "Org.Eclipse.TractusX.Portal.Backend.Process.Worker"
    }
}
[18:09:56 INF] Received HTTP response headers after 374.962ms - 400
{
    "Timestamp": "2024-07-07T18:09:56.1489688+00:00",
    "Level": "Information",
    "MessageTemplate": "Received HTTP response headers after {ElapsedMilliseconds}ms - {StatusCode}",
    "RenderedMessage": "Received HTTP response headers after 374.962ms - 400",
    "Properties": {
        "ElapsedMilliseconds": 374.962,
        "StatusCode": 400,
        "EventId": {
            "Id": 101,
            "Name": "RequestEnd"
        },
        "SourceContext": "System.Net.Http.HttpClient.BpdmService.ClientHandler",
        "HttpMethod": "POST",
        "Uri": "http://partners-gate.tx.test/v6/sharing-state/ready",
        "Scope": ["HTTP POST http://partners-gate.tx.test/v6/sharing-state/ready"],
        "Application": "Org.Eclipse.TractusX.Portal.Backend.Process.Worker"
    }
}
[18:09:56 INF] Response: {"Version": {"Major": 1, "Minor": 1, "Build": -1, "Revision": -1, "MajorRevision": -1, "MinorRevision": -1, "$type": "Version"}, "Content": {"Headers": [{"Key": "Content-Type", "Value": ["application/json"], "$type": "KeyValuePair`2"}, {"Key": "Expires", "Value": ["0"], "$type": "KeyValuePair`2"}], "$type": "HttpConnectionResponseContent"}, "StatusCode": "BadRequest", "ReasonPhrase": "", "Headers": [{"Key": "Date", "Value": ["Sun, 07 Jul 2024 18:09:56 GMT"], "$type": "KeyValuePair`2"}, {"Key": "Transfer-Encoding", "Value": ["chunked"], "$type": "KeyValuePair`2"}, {"Key": "Connection", "Value": ["keep-alive"], "$type": "KeyValuePair`2"}, {"Key": "Vary", "Value": ["Origin", "Access-Control-Request-Method", "Access-Control-Request-Headers"], "$type": "KeyValuePair`2"}, {"Key": "X-Content-Type-Options", "Value": ["nosniff"], "$type": "KeyValuePair`2"}, {"Key": "X-XSS-Protection", "Value": ["0"], "$type": "KeyValuePair`2"}, {"Key": "Cache-Control", "Value": ["no-store, must-revalidate, no-cache, max-age=0"], "$type": "KeyValuePair`2"}, {"Key": "Pragma", "Value": ["no-cache"], "$type": "KeyValuePair`2"}, {"Key": "X-Frame-Options", "Value": ["DENY"], "$type": "KeyValuePair`2"}], "TrailingHeaders": [], "RequestMessage": {"Version": {"Major": 1, "Minor": 1, "Build": -1, "Revision": -1, "MajorRevision": -1, "MinorRevision": -1, "$type": "Version"}, "VersionPolicy": "RequestVersionOrLower", "Content": {"ObjectType": "<>f__AnonymousType0`1[System.Collections.Generic.IEnumerable`1[System.String]]", "Value": {"externalIds": ["5e9ddebb-cae9-4227-ab4d-a1a088cd76bf"]}, "Headers": [{"Key": "Content-Type", "Value": ["application/json; charset=utf-8"], "$type": "KeyValuePair`2"}, {"Key": "Content-Length", "Value": ["56"], "$type": "KeyValuePair`2"}], "$type": "JsonContent"}, "Method": {"Method": "POST", "$type": "HttpMethod"}, "RequestUri": "http://partners-gate.tx.test/v6/sharing-state/ready", "Headers": [{"Key": "Authorization", "Value": ["Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJjUHRZbVZVUi1KZ0R5OGloNl9LSEItU3pWLTR2N2xzVWlPZldZSlNhTEdNIn0.eyJleHAiOjE3MjAzNzYwOTUsImlhdCI6MTcyMDM3NTc5NSwianRpIjoiZDNiNTE0NzgtNWM0ZC00NDM0LWI2N2YtODg4NWJjZjExMWIxIiwiaXNzIjoiaHR0cDovL2NlbnRyYWxpZHAudHgudGVzdC9hdXRoL3JlYWxtcy9DWC1DZW50cmFsIiwiYXVkIjpbIkNsMTYtQ1gtQlBETUdhdGUiLCJDbDctQ1gtQlBETSIsInRlY2huaWNhbF9yb2xlc19tYW5hZ2VtZW50Il0sInN1YiI6ImYwMTRlZDVkLTllMDUtNGYyOS1hNWMwLTIyN2M3ZTdiNDc5ZSIsInR5cCI6IkJlYXJlciIsImF6cCI6InNhLWNsNy1jeC01IiwicmVzb3VyY2VfYWNjZXNzIjp7IkNsMTYtQ1gtQlBETUdhdGUiOnsicm9sZXMiOlsid3JpdGVfb3V0cHV0X3BhcnRuZXIiLCJ3cml0ZV9zaGFyaW5nX3N0YXRlIiwicmVhZF9zaGFyaW5nX3N0YXRlIiwicmVhZF9vdXRwdXRfcGFydG5lciIsInJlYWRfc3RhdHMiLCJyZWFkX291dHB1dF9jaGFuZ2Vsb2ciLCJyZWFkX2lucHV0X2NoYW5nZWxvZyIsInJlYWRfaW5wdXRfcGFydG5lciIsIndyaXRlX2lucHV0X3BhcnRuZXIiXX0sIkNsNy1DWC1CUERNIjp7InJvbGVzIjpbInJlYWRfbWV0YWRhdGEiLCJyZWFkX2NoYW5nZWxvZyIsIndyaXRlX21ldGFkYXRhIiwicmVhZF9wYXJ0bmVyX21lbWJlciIsInJlYWRfY2hhbmdlbG9nX21lbWJlciIsIndyaXRlX3BhcnRuZXIiLCJyZWFkX3BhcnRuZXIiXX0sInRlY2huaWNhbF9yb2xlc19tYW5hZ2VtZW50Ijp7InJvbGVzIjpbIkJQRE0gUG9vbCBBZG1pbiIsIkJQRE0gU2hhcmluZyBBZG1pbiJdfX0sInNjb3BlIjoib3BlbmlkIHByb2ZpbGUgZW1haWwiLCJicG4iOiJCUE5MMDAwMDAwMDNDUkhLIiwiZW1haWxfdmVyaWZpZWQiOmZhbHNlLCJjbGllbnRIb3N0IjoiMTAuMjQ0LjAuMSIsInByZWZlcnJlZF91c2VybmFtZSI6InNlcnZpY2UtYWNjb3VudC1zYS1jbDctY3gtNSIsImNsaWVudEFkZHJlc3MiOiIxMC4yNDQuMC4xIiwiY2xpZW50X2lkIjoic2EtY2w3LWN4LTUifQ.UQWtKebzCA32hYdax5zQ5T4FkoQInNQlgnNP15Kgs1b7o_Hr0UH1uK1PtAHTQd-bkBtipd7N5-8a1XqU8PawVgEVe53JjmyJKp_Cprt2VCdPORwqcTvgZbG2-XB6uVo3gL6hUzNeAeTOKy-KN_Hqo38bO5dCbXlPx2VN3ulvmaoKbmQNrszBVSm0fS4hrcctm48m7JgTmtdnmTkOICvOak_8CeFATpmor5cGANoeE5B0rS05TIaC82Ld0PmJtoQog2DT-sgskyjOYnD8iUaFlYQvKgcc2qZqVD-JFCed0E33EQRaffqOLdJDTn1M5d3Vyn7I2kXb4YRt0iPGDRLwxg"], "$type": "KeyValuePair`2"}], "Properties": [], "Options": [], "$type": "HttpRequestMessage"}, "IsSuccessStatusCode": false, "$type": "HttpResponseMessage"}
{
    "Timestamp": "2024-07-07T18:09:56.1507000+00:00",
    "Level": "Information",
    "MessageTemplate": "Response: {@Response}",
    "RenderedMessage": "Response: HttpResponseMessage { Version: Version { Major: 1, Minor: 1, Build: -1, Revision: -1, MajorRevision: -1, MinorRevision: -1 }, Content: HttpConnectionResponseContent { Headers: [KeyValuePair`2 { Key: \"Content-Type\", Value: [\"application/json\"] }, KeyValuePair`2 { Key: \"Expires\", Value: [\"0\"] }] }, StatusCode: BadRequest, ReasonPhrase: \"\", Headers: [KeyValuePair`2 { Key: \"Date\", Value: [\"Sun, 07 Jul 2024 18:09:56 GMT\"] }, KeyValuePair`2 { Key: \"Transfer-Encoding\", Value: [\"chunked\"] }, KeyValuePair`2 { Key: \"Connection\", Value: [\"keep-alive\"] }, KeyValuePair`2 { Key: \"Vary\", Value: [\"Origin\", \"Access-Control-Request-Method\", \"Access-Control-Request-Headers\"] }, KeyValuePair`2 { Key: \"X-Content-Type-Options\", Value: [\"nosniff\"] }, KeyValuePair`2 { Key: \"X-XSS-Protection\", Value: [\"0\"] }, KeyValuePair`2 { Key: \"Cache-Control\", Value: [\"no-store, must-revalidate, no-cache, max-age=0\"] }, KeyValuePair`2 { Key: \"Pragma\", Value: [\"no-cache\"] }, KeyValuePair`2 { Key: \"X-Frame-Options\", Value: [\"DENY\"] }], TrailingHeaders: [], RequestMessage: HttpRequestMessage { Version: Version { Major: 1, Minor: 1, Build: -1, Revision: -1, MajorRevision: -1, MinorRevision: -1 }, VersionPolicy: RequestVersionOrLower, Content: JsonContent { ObjectType: <>f__AnonymousType0`1[System.Collections.Generic.IEnumerable`1[System.String]], Value: { externalIds: [\"5e9ddebb-cae9-4227-ab4d-a1a088cd76bf\"] }, Headers: [KeyValuePair`2 { Key: \"Content-Type\", Value: [\"application/json; charset=utf-8\"] }, KeyValuePair`2 { Key: \"Content-Length\", Value: [\"56\"] }] }, Method: HttpMethod { Method: \"POST\" }, RequestUri: http://partners-gate.tx.test/v6/sharing-state/ready, Headers: [KeyValuePair`2 { Key: \"Authorization\", Value: [\"Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJjUHRZbVZVUi1KZ0R5OGloNl9LSEItU3pWLTR2N2xzVWlPZldZSlNhTEdNIn0.eyJleHAiOjE3MjAzNzYwOTUsImlhdCI6MTcyMDM3NTc5NSwianRpIjoiZDNiNTE0NzgtNWM0ZC00NDM0LWI2N2YtODg4NWJjZjExMWIxIiwiaXNzIjoiaHR0cDovL2NlbnRyYWxpZHAudHgudGVzdC9hdXRoL3JlYWxtcy9DWC1DZW50cmFsIiwiYXVkIjpbIkNsMTYtQ1gtQlBETUdhdGUiLCJDbDctQ1gtQlBETSIsInRlY2huaWNhbF9yb2xlc19tYW5hZ2VtZW50Il0sInN1YiI6ImYwMTRlZDVkLTllMDUtNGYyOS1hNWMwLTIyN2M3ZTdiNDc5ZSIsInR5cCI6IkJlYXJlciIsImF6cCI6InNhLWNsNy1jeC01IiwicmVzb3VyY2VfYWNjZXNzIjp7IkNsMTYtQ1gtQlBETUdhdGUiOnsicm9sZXMiOlsid3JpdGVfb3V0cHV0X3BhcnRuZXIiLCJ3cml0ZV9zaGFyaW5nX3N0YXRlIiwicmVhZF9zaGFyaW5nX3N0YXRlIiwicmVhZF9vdXRwdXRfcGFydG5lciIsInJlYWRfc3RhdHMiLCJyZWFkX291dHB1dF9jaGFuZ2Vsb2ciLCJyZWFkX2lucHV0X2NoYW5nZWxvZyIsInJlYWRfaW5wdXRfcGFydG5lciIsIndyaXRlX2lucHV0X3BhcnRuZXIiXX0sIkNsNy1DWC1CUERNIjp7InJvbGVzIjpbInJlYWRfbWV0YWRhdGEiLCJyZWFkX2NoYW5nZWxvZyIsIndyaXRlX21ldGFkYXRhIiwicmVhZF9wYXJ0bmVyX21lbWJlciIsInJlYWRfY2hhbmdlbG9nX21lbWJlciIsIndyaXRlX3BhcnRuZXIiLCJyZWFkX3BhcnRuZXIiXX0sInRlY2huaWNhbF9yb2xlc19tYW5hZ2VtZW50Ijp7InJvbGVzIjpbIkJQRE0gUG9vbCBBZG1pbiIsIkJQRE0gU2hhcmluZyBBZG1pbiJdfX0sInNjb3BlIjoib3BlbmlkIHByb2ZpbGUgZW1haWwiLCJicG4iOiJCUE5MMDAwMDAwMDNDUkhLIiwiZW1haWxfdmVyaWZpZWQiOmZhbHNlLCJjbGllbnRIb3N0IjoiMTAuMjQ0LjAuMSIsInByZWZlcnJlZF91c2VybmFtZSI6InNlcnZpY2UtYWNjb3VudC1zYS1jbDctY3gtNSIsImNsaWVudEFkZHJlc3MiOiIxMC4yNDQuMC4xIiwiY2xpZW50X2lkIjoic2EtY2w3LWN4LTUifQ.UQWtKebzCA32hYdax5zQ5T4FkoQInNQlgnNP15Kgs1b7o_Hr0UH1uK1PtAHTQd-bkBtipd7N5-8a1XqU8PawVgEVe53JjmyJKp_Cprt2VCdPORwqcTvgZbG2-XB6uVo3gL6hUzNeAeTOKy-KN_Hqo38bO5dCbXlPx2VN3ulvmaoKbmQNrszBVSm0fS4hrcctm48m7JgTmtdnmTkOICvOak_8CeFATpmor5cGANoeE5B0rS05TIaC82Ld0PmJtoQog2DT-sgskyjOYnD8iUaFlYQvKgcc2qZqVD-JFCed0E33EQRaffqOLdJDTn1M5d3Vyn7I2kXb4YRt0iPGDRLwxg\"] }], Properties: [], Options: [] }, IsSuccessStatusCode: False }",
    "Properties": {
        "Response": {
            "Version": {
                "Major": 1,
                "Minor": 1,
                "Build": -1,
                "Revision": -1,
                "MajorRevision": -1,
                "MinorRevision": -1,
                "_typeTag": "Version"
            },
            "Content": {
                "Headers": [{
                        "Key": "Content-Type",
                        "Value": ["application/json"],
                        "_typeTag": "KeyValuePair`2"
                    }, {
                        "Key": "Expires",
                        "Value": ["0"],
                        "_typeTag": "KeyValuePair`2"
                    }
                ],
                "_typeTag": "HttpConnectionResponseContent"
            },
            "StatusCode": "BadRequest",
            "ReasonPhrase": "",
            "Headers": [{
                    "Key": "Date",
                    "Value": ["Sun, 07 Jul 2024 18:09:56 GMT"],
                    "_typeTag": "KeyValuePair`2"
                }, {
                    "Key": "Transfer-Encoding",
                    "Value": ["chunked"],
                    "_typeTag": "KeyValuePair`2"
                }, {
                    "Key": "Connection",
                    "Value": ["keep-alive"],
                    "_typeTag": "KeyValuePair`2"
                }, {
                    "Key": "Vary",
                    "Value": ["Origin", "Access-Control-Request-Method", "Access-Control-Request-Headers"],
                    "_typeTag": "KeyValuePair`2"
                }, {
                    "Key": "X-Content-Type-Options",
                    "Value": ["nosniff"],
                    "_typeTag": "KeyValuePair`2"
                }, {
                    "Key": "X-XSS-Protection",
                    "Value": ["0"],
                    "_typeTag": "KeyValuePair`2"
                }, {
                    "Key": "Cache-Control",
                    "Value": ["no-store, must-revalidate, no-cache, max-age=0"],
                    "_typeTag": "KeyValuePair`2"
                }, {
                    "Key": "Pragma",
                    "Value": ["no-cache"],
                    "_typeTag": "KeyValuePair`2"
                }, {
                    "Key": "X-Frame-Options",
                    "Value": ["DENY"],
                    "_typeTag": "KeyValuePair`2"
                }
            ],
            "TrailingHeaders": [],
            "RequestMessage": {
                "Version": {
                    "Major": 1,
                    "Minor": 1,
                    "Build": -1,
                    "Revision": -1,
                    "MajorRevision": -1,
                    "MinorRevision": -1,
                    "_typeTag": "Version"
                },
                "VersionPolicy": "RequestVersionOrLower",
                "Content": {
                    "ObjectType": "<>f__AnonymousType0`1[System.Collections.Generic.IEnumerable`1[System.String]]",
                    "Value": {
                        "externalIds": ["5e9ddebb-cae9-4227-ab4d-a1a088cd76bf"]
                    },
                    "Headers": [{
                            "Key": "Content-Type",
                            "Value": ["application/json; charset=utf-8"],
                            "_typeTag": "KeyValuePair`2"
                        }, {
                            "Key": "Content-Length",
                            "Value": ["56"],
                            "_typeTag": "KeyValuePair`2"
                        }
                    ],
                    "_typeTag": "JsonContent"
                },
                "Method": {
                    "Method": "POST",
                    "_typeTag": "HttpMethod"
                },
                "RequestUri": "http://partners-gate.tx.test/v6/sharing-state/ready",
                "Headers": [{
                        "Key": "Authorization",
                        "Value": ["Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJjUHRZbVZVUi1KZ0R5OGloNl9LSEItU3pWLTR2N2xzVWlPZldZSlNhTEdNIn0.eyJleHAiOjE3MjAzNzYwOTUsImlhdCI6MTcyMDM3NTc5NSwianRpIjoiZDNiNTE0NzgtNWM0ZC00NDM0LWI2N2YtODg4NWJjZjExMWIxIiwiaXNzIjoiaHR0cDovL2NlbnRyYWxpZHAudHgudGVzdC9hdXRoL3JlYWxtcy9DWC1DZW50cmFsIiwiYXVkIjpbIkNsMTYtQ1gtQlBETUdhdGUiLCJDbDctQ1gtQlBETSIsInRlY2huaWNhbF9yb2xlc19tYW5hZ2VtZW50Il0sInN1YiI6ImYwMTRlZDVkLTllMDUtNGYyOS1hNWMwLTIyN2M3ZTdiNDc5ZSIsInR5cCI6IkJlYXJlciIsImF6cCI6InNhLWNsNy1jeC01IiwicmVzb3VyY2VfYWNjZXNzIjp7IkNsMTYtQ1gtQlBETUdhdGUiOnsicm9sZXMiOlsid3JpdGVfb3V0cHV0X3BhcnRuZXIiLCJ3cml0ZV9zaGFyaW5nX3N0YXRlIiwicmVhZF9zaGFyaW5nX3N0YXRlIiwicmVhZF9vdXRwdXRfcGFydG5lciIsInJlYWRfc3RhdHMiLCJyZWFkX291dHB1dF9jaGFuZ2Vsb2ciLCJyZWFkX2lucHV0X2NoYW5nZWxvZyIsInJlYWRfaW5wdXRfcGFydG5lciIsIndyaXRlX2lucHV0X3BhcnRuZXIiXX0sIkNsNy1DWC1CUERNIjp7InJvbGVzIjpbInJlYWRfbWV0YWRhdGEiLCJyZWFkX2NoYW5nZWxvZyIsIndyaXRlX21ldGFkYXRhIiwicmVhZF9wYXJ0bmVyX21lbWJlciIsInJlYWRfY2hhbmdlbG9nX21lbWJlciIsIndyaXRlX3BhcnRuZXIiLCJyZWFkX3BhcnRuZXIiXX0sInRlY2huaWNhbF9yb2xlc19tYW5hZ2VtZW50Ijp7InJvbGVzIjpbIkJQRE0gUG9vbCBBZG1pbiIsIkJQRE0gU2hhcmluZyBBZG1pbiJdfX0sInNjb3BlIjoib3BlbmlkIHByb2ZpbGUgZW1haWwiLCJicG4iOiJCUE5MMDAwMDAwMDNDUkhLIiwiZW1haWxfdmVyaWZpZWQiOmZhbHNlLCJjbGllbnRIb3N0IjoiMTAuMjQ0LjAuMSIsInByZWZlcnJlZF91c2VybmFtZSI6InNlcnZpY2UtYWNjb3VudC1zYS1jbDctY3gtNSIsImNsaWVudEFkZHJlc3MiOiIxMC4yNDQuMC4xIiwiY2xpZW50X2lkIjoic2EtY2w3LWN4LTUifQ.UQWtKebzCA32hYdax5zQ5T4FkoQInNQlgnNP15Kgs1b7o_Hr0UH1uK1PtAHTQd-bkBtipd7N5-8a1XqU8PawVgEVe53JjmyJKp_Cprt2VCdPORwqcTvgZbG2-XB6uVo3gL6hUzNeAeTOKy-KN_Hqo38bO5dCbXlPx2VN3ulvmaoKbmQNrszBVSm0fS4hrcctm48m7JgTmtdnmTkOICvOak_8CeFATpmor5cGANoeE5B0rS05TIaC82Ld0PmJtoQog2DT-sgskyjOYnD8iUaFlYQvKgcc2qZqVD-JFCed0E33EQRaffqOLdJDTn1M5d3Vyn7I2kXb4YRt0iPGDRLwxg"],
                        "_typeTag": "KeyValuePair`2"
                    }
                ],
                "Properties": [],
                "Options": [],
                "_typeTag": "HttpRequestMessage"
            },
            "IsSuccessStatusCode": false,
            "_typeTag": "HttpResponseMessage"
        },
        "SourceContext": "Org.Eclipse.TractusX.Portal.Backend.Bpdm.Library.BpdmService",
        "HttpMethod": "POST",
        "Uri": "http://partners-gate.tx.test/v6/sharing-state/ready",
        "Scope": ["HTTP POST http://partners-gate.tx.test/v6/sharing-state/ready"],
        "Application": "Org.Eclipse.TractusX.Portal.Backend.Process.Worker"
    }
}
[18:09:56 DBG] Responded with status code: BadRequest and data: {"timestamp":"2024-07-07T18:09:56.138+00:00","status":400,"error":"Bad Request","path":"/v6/sharing-state/ready"}
{
    "Timestamp": "2024-07-07T18:09:56.1526550+00:00",
    "Level": "Debug",
    "MessageTemplate": "Responded with status code: {@StatusCode} and data: {@Data}",
    "RenderedMessage": "Responded with status code: BadRequest and data: \"{\\\"timestamp\\\":\\\"2024-07-07T18:09:56.138+00:00\\\",\\\"status\\\":400,\\\"error\\\":\\\"Bad Request\\\",\\\"path\\\":\\\"/v6/sharing-state/ready\\\"}\"",
    "Properties": {
        "StatusCode": "BadRequest",
        "Data": "{\"timestamp\":\"2024-07-07T18:09:56.138+00:00\",\"status\":400,\"error\":\"Bad Request\",\"path\":\"/v6/sharing-state/ready\"}",
        "SourceContext": "Org.Eclipse.TractusX.Portal.Backend.Bpdm.Library.BpdmService",
        "HttpMethod": "POST",
        "Uri": "http://partners-gate.tx.test/v6/sharing-state/ready",
        "Scope": ["HTTP POST http://partners-gate.tx.test/v6/sharing-state/ready"],
        "Application": "Org.Eclipse.TractusX.Portal.Backend.Process.Worker"
    }
}
[18:09:56 INF] End processing HTTP request after 380.4445ms - 400

Gate:

2024-07-07 18:09:55.839 INFO  00003CRHK}] 1aabf1d0c3] [nio-8081-exec-9] o.e.t.b.common.config.UserLoggingFilter  : User '{bpn=BPNL00000003CRHK}' requests POST /v6/sharing-state/ready...
2024-07-07 18:09:56.065 DEBUG 00003CRHK}] 1aabf1d0c3] [nio-8081-exec-9] o.e.t.b.g.e.GateExceptionHandler         : org.eclipse.tractusx.bpdm.gate.exception.BpdmInvalidStateException: The following business partners are in an invalid state: InvalidState(externalId=5e9ddebb-cae9-4227-ab4d-a1a088cd76bf, stateType=Ready)
2024-07-07 18:09:56.066 INFO  00003CRHK}] 1aabf1d0c3] [nio-8081-exec-9] o.e.t.b.common.config.UserLoggingFilter  : Response with status 400
org.springframework.web.reactive.function.client.WebClientRequestException: finishConnect(..) failed: Connection refused: /[0:0:0:0:0:0:0:1]:80
    at org.springframework.web.reactive.function.client.ExchangeFunctions$DefaultExchangeFunction.lambda$wrapException$9(ExchangeFunctions.java:136) ~[spring-webflux-6.1.6.jar!/:6.1.6]
    Suppressed: reactor.core.publisher.FluxOnAssembly$OnAssemblyException: 
Error has been observed at the following site(s):
    *__checkpoint ⇢ Request to POST /v6/golden-record-tasks/state/search [DefaultWebClient]

I assume the second error regarding the POST request to /v6/golden-record-tasks/state/search comes from a misconfiguration of service urls in the values file or a missing/misconfigured ingress rule.

But the first one i have no clue where this is coming from

gomezbc commented 2 months ago

I have just finished debugging the chart values and i have realized that the orchestrator url is not configured. That's the reason for the connection refused error.

These are the correct values for bpdm:

bpdm:
  enabled: true
  postgres:
    enabled: true
    fullnameOverride: &bpdm-postgres-host bpdm-postgres
    auth:
      database: bpdm
      username: bpdm
      # Change for production
      password: bpdm
  keycloak:
    enabled: false

  bpdm-gate:
    enabled: true
    postgres:
      enabled: false
      fullnameOverride: bpdm-postgres
    ingress:
      enabled: true
      annotations:
        kubernetes.io/ingress.class: nginx
        nginx.ingress.kubernetes.io/backend-protocol: "HTTP"
      hosts:
        - host: partners-gate.tx.test
          paths:
            - path: /
              pathType: Prefix
    springProfiles:
      - auth
      - pool-auth
    applicationConfig:
      bpdm:
        client:
          pool:
            base-url: http://partners-pool.tx.test/
            registration:
              client-id: sa-cl7-cx-5
          orchestrator:
            base-url: http://partners-orchestrator.tx.test
        security:
          auth-server-url: http://centralidp.tx.test/auth
          realm: CX-Central
          client-id: Cl16-CX-BPDMGate
        datasource:
          host: *bpdm-postgres-host
    applicationSecrets:
      bpdm:
        client:
          orchestrator:
            registration:
              client-secret: &gateOrchSecret gate_orch_client_secret
          pool:
            registration:
              client-secret: &gatePoolSecret bWSck103qNJ0jZ1LVtG9mUAlcL7R5RLg

  bpdm-pool:
    enabled: true
    postgres:
      enabled: false
      fullnameOverride: bpdm-postgres
    ingress:
      enabled: true
      annotations: 
        kubernetes.io/ingress.class: nginx
      nginx.ingress.kubernetes.io/backend-protocol: "HTTP"
      hosts:
        - host: partners-pool.tx.test
          paths:
            - path: /
              pathType: Prefix
    springProfiles:
      - auth
    applicationConfig:
      bpdm:
        security:
          auth-server-url: http://centralidp.tx.test/auth
          realm: CX-Central
          client-id: Cl7-CX-BPDM
        client:
            orchestrator:
              base-url: http://partners-orchestrator.tx.test/
        datasource:
          host: *bpdm-postgres-host
    applicationSecrets:
      bpdm:
        client:
          orchestrator:
            registration:
              client-secret: &poolOrchSecret pool_orch_client_secret

  bpdm-cleaning-service-dummy:
    enabled: true
    ingress:
      enabled: true
      annotations:
        kubernetes.io/ingress.class: nginx
        nginx.ingress.kubernetes.io/backend-protocol: "HTTP"
      hosts:
        - host: partners-cleaning.tx.test
          paths:
            - path: /
              pathType: Prefix
    springProfiles:
      - auth
    applicationConfig:
      bpdm:
        client:
          orchestrator:
            base-url: http://partners-orchestrator.tx.test/
            provider:
              issuer-uri: http://centralidp.tx.test/auth/realms/CX-Central
        datasource:
          host: *bpdm-postgres-host
    applicationSecrets:
      bpdm:
        client:
          orchestrator:
            registration:
              client-secret: &dummyOrchSecret dummy_orch_client_secret

  bpdm-orchestrator:
    enabled: true
    ingress:
      enabled: true
      annotations:
        kubernetes.io/ingress.class: nginx
        nginx.ingress.kubernetes.io/backend-protocol: "HTTP"
      hosts:
        - host: partners-orchestrator.tx.test
          paths:
            - path: /
              pathType: Prefix
    springProfiles:
      - auth
    applicationConfig:
      bpdm:
        security:
          auth-server-url: http://centralidp.tx.test/auth
      datasource:
          host: *bpdm-postgres-host

[!warning] Make sure to add the new hostnames to your etc/hosts file. The new hostnames: partners-orchestrator.tx.test and partners-cleaning.tx.test

ipa-big commented 2 months ago

Perfect, the errors in the logs of the bpdm services are gone now.

Only the request from worker to gate (POST /v6/sharing-state/ready) which results in a status code 400 is there and I'm still stuck in the bpn creation process. I'm wondering why you are not facing this issue.

gomezbc commented 2 months ago

Try running these request to get the progress status:

TOKEN=$(curl -s -X POST 'http://centralidp.tx.test/auth/realms/CX-Central/protocol/openid-connect/token' \
             -H 'Content-Type: application/x-www-form-urlencoded' \
             -d 'scope=openid' \
             -d 'grant_type=client_credentials' \
             -d 'client_id=sa-cl7-cx-5' \
             -d 'client_secret=bWSck103qNJ0jZ1LVtG9mUAlcL7R5RLg' | jq -r '.access_token')

curl -X GET 'http://partners-gate.tx.test/v6/sharing-state' \
     -H "Authorization: Bearer $TOKEN" | jq
{
  "totalElements": 1,
  "totalPages": 1,
  "page": 0,
  "contentSize": 1,
  "content": [
    {
      "externalId": "6487fd87-3ed9-45eb-bc3b-17b9ffaaf30d",
      "sharingStateType": "Error",
      "sharingErrorCode": "SharingProcessError",
      "sharingErrorMessage": "Alternative Address has no country",
      "sharingProcessStarted": "2024-07-07T17:54:31.078627",
      "taskId": "4bcd4947-c876-4c6e-883a-2f09b6fcc19e"
    }
  ]
}

If your output is like this, it's because the process worker doesn't set alternativePostalAddress. Before i created this issue i achieved to solve it making some requests which i am trying to recreate. I'm not sure if this is because of incompatible versions or if it is an issue. As soon as i am able to recreate and analyze it, i will either answer this comment or create a new issue. In both cases, i will mention you, so you can take a look.

evegufy commented 2 months ago

Try running these request to get the progress status:

TOKEN=$(curl -s -X POST 'http://centralidp.tx.test/auth/realms/CX-Central/protocol/openid-connect/token' \
             -H 'Content-Type: application/x-www-form-urlencoded' \
             -d 'scope=openid' \
             -d 'grant_type=client_credentials' \
             -d 'client_id=sa-cl7-cx-5' \
             -d 'client_secret=bWSck103qNJ0jZ1LVtG9mUAlcL7R5RLg' | jq -r '.access_token')

curl -X GET 'http://partners-gate.tx.test/v6/sharing-state' \
     -H "Authorization: Bearer $TOKEN" | jq
{
  "totalElements": 1,
  "totalPages": 1,
  "page": 0,
  "contentSize": 1,
  "content": [
    {
      "externalId": "6487fd87-3ed9-45eb-bc3b-17b9ffaaf30d",
      "sharingStateType": "Error",
      "sharingErrorCode": "SharingProcessError",
      "sharingErrorMessage": "Alternative Address has no country",
      "sharingProcessStarted": "2024-07-07T17:54:31.078627",
      "taskId": "4bcd4947-c876-4c6e-883a-2f09b6fcc19e"
    }
  ]
}

If your output is like this, it's because the process worker doesn't set alternativePostalAddress. Before i created this issue i achieved to solve it making some requests which i am trying to recreate. I'm not sure if this is because of incompatible versions or if it is an issue. As soon as i am able to recreate and analyze it, i will either answer this comment or create a new issue. In both cases, i will mention you, so you can take a look.

@gomezbc this issue should be solved with the 5.0.2 patch from BPDM team, see https://github.com/eclipse-tractusx/portal-backend/issues/801

evegufy commented 2 months ago

Hi @ipa-big , to achieve BPDM integration i had to modify the centralidp keycloak configuration by adding the keyclaok clients BPDM components needed. Because BPDM chart uses the following keycloak config https://github.com/eclipse-tractusx/bpdm/blob/main/charts/bpdm/templates/keycloakRealm.tpl , as a workaround i merged the centralidp and BPDM keycloak config using jq utility.

This is the output json: CX-Central-realm.json

How to replace the original centralidp with the new configuration:

  1. Replace the attached file with the file in this folder init-container/iam/centralidp/R2405
  2. Assuming you are using minikube, we are going to push the new image to the cluster following this guide
  3. Place your terminal in init-container folder and run the following script
  4. Reinstall the helm chart
eval $(minikube docker-env)
docker build -t tractusx/umbrella-init-container:0.1.0-init .

Check authentication events

You can check if the client authentication works by checking the events in centralidp: image

I hope it can help you. If that's not the case, i think that there is another issue with the creation of a company business partner which i am trying to replicate, as soon as i find the issue i will reply this post.

Hi @nicoprow, as discussed, could you please provide the bpdm configuration which doesn't require a change to the centralidp CX-Central realm?

ipa-big commented 2 months ago

According to the comment of @evegufy

this issue should be solved with the 5.0.2 patch from BPDM team, see https://github.com/eclipse-tractusx/portal-backend/issues/801

i updated the version of the BPDM from 5.0.1 to 5.02.

After Inviting a new Company, Inserting the company information in the registration frontend and approving the information i receive the following when I do

GET http://partners-gate.tx.test/v6/sharing-state

{
  "totalElements": 6,
  "totalPages": 1,
  "page": 0,
  "contentSize": 6,
  "content": [
    {
      "externalId": "3ddd822e-f05a-4499-9d03-91943d6908e4",
      "sharingStateType": "Error",
      "sharingErrorCode": "MissingTaskID",
      "sharingErrorMessage": "Missing Task in Orchestrator",
      "sharingProcessStarted": "2024-07-07T18:34:09.6711",
      "taskId": "5b06cea5-d9bb-4a13-bdbb-5324865b581b"
    },
    {
      "externalId": "5e9ddebb-cae9-4227-ab4d-a1a088cd76bf",
      "sharingStateType": "Error",
      "sharingErrorCode": "MissingTaskID",
      "sharingErrorMessage": "Missing Task in Orchestrator",
      "sharingProcessStarted": "2024-07-07T18:34:09.671821",
      "taskId": "e55b647e-8b07-433a-89ff-7f343131bc39"
    },
    {
      "externalId": "a29d0152-9638-45bb-a22c-f805279314da",
      "sharingStateType": "Error",
      "sharingErrorCode": "MissingTaskID",
      "sharingErrorMessage": "Missing Task in Orchestrator",
      "sharingProcessStarted": "2024-07-07T18:54:01.769191",
      "taskId": "86238c7e-8335-44e8-8b71-b4838f2f6b55"
    },
    {
      "externalId": "d12484b3-a869-4616-a8fb-32d649c69638",
      "sharingStateType": "Error",
      "sharingErrorCode": "SharingProcessError",
      "sharingErrorMessage": "Alternative Address has no country",
      "sharingProcessStarted": "2024-07-08T13:02:00.022055",
      "taskId": "307c61c8-5f42-4c45-ae26-e16ef7132905"
    },
    {
      "externalId": "23da9e00-f736-4796-b3db-397b46d45ab9",
      "sharingStateType": "Error",
      "sharingErrorCode": "SharingProcessError",
      "sharingErrorMessage": "Alternative Address has no country",
      "sharingProcessStarted": "2024-07-08T13:07:00.051894",
      "taskId": "822b960b-2ddd-465b-921e-6602a56834d8"
    },
    {
      "externalId": "88a03775-8b08-4365-85b8-86b3d817c991",
      "sharingStateType": "Pending",
      "sharingErrorCode": null,
      "sharingErrorMessage": null,
      "sharingProcessStarted": "2024-07-08T13:21:01.960166",
      "taskId": "7f749f7a-77c8-4d35-b3a0-62ee61e39628"
    }
  ]
}

So it shows the error "Alternative Address has no country". But I'm pretty sure that this was not the case when I used version 5.0.1 of BPDM. So it looks like this error came up with version 5.0.2.

The Process Worker still shows the same error as before:

[13:20:46 INF] Sending HTTP request POST http://partners-gate.tx.test/v6/sharing-state/ready
{
  "Timestamp":"2024-07-08T13:20:46.2411876+00:00",
  "Level":"Information",
  "MessageTemplate":"Sending HTTP request {HttpMethod} {Uri}",
  "RenderedMessage":"Sending HTTP request \"POST\" \"http://partners-gate.tx.test/v6/sharing-state/ready\"",
  "Properties":{
    "HttpMethod":"POST",
    "Uri":"http://partners-gate.tx.test/v6/sharing-state/ready",
    "EventId":{
      "Id":100,
      "Name":"RequestStart"
    },
    "SourceContext":"System.Net.Http.HttpClient.BpdmService.ClientHandler",
    "Scope":[
      "HTTP POST http://partners-gate.tx.test/v6/sharing-state/ready"
    ],
    "Application":"Org.Eclipse.TractusX.Portal.Backend.Process.Worker"
  }
}
[13:20:46 INF] Received HTTP response headers after 117.9958ms - 400
{
  "Timestamp":"2024-07-08T13:20:46.3592857+00:00",
  "Level":"Information",
  "MessageTemplate":"Received HTTP response headers after {ElapsedMilliseconds}ms - {StatusCode}",
  "RenderedMessage":"Received HTTP response headers after 117.9958ms - 400",
  "Properties":{
    "ElapsedMilliseconds":117.9958,
    "StatusCode":400,
    "EventId":{
      "Id":101,
      "Name":"RequestEnd"
    },
    "SourceContext":"System.Net.Http.HttpClient.BpdmService.ClientHandler",
    "HttpMethod":"POST",
    "Uri":"http://partners-gate.tx.test/v6/sharing-state/ready",
    "Scope":[
      "HTTP POST http://partners-gate.tx.test/v6/sharing-state/ready"
    ],
    "Application":"Org.Eclipse.TractusX.Portal.Backend.Process.Worker"
  }
}
[13:20:46 INF] Response: 
{
  "Version":{
    "Major":1,
    "Minor":1,
    "Build":-1,
    "Revision":-1,
    "MajorRevision":-1,
    "MinorRevision":-1,
    "$type":"Version"
  },
  "Content":{
    "Headers":[
      {
        "Key":"Content-Type",
        "Value":[
          "application/json"
        ],
        "$type":"KeyValuePair`2"
      },
      {
        "Key":"Expires",
        "Value":[
          "0"
        ],
        "$type":"KeyValuePair`2"
      }
    ],
    "$type":"HttpConnectionResponseContent"
  },
  "StatusCode":"BadRequest",
  "ReasonPhrase":"",
  "Headers":[
    {
      "Key":"Date",
      "Value":[
        "Mon, 08 Jul 2024 13:20:46 GMT"
      ],
      "$type":"KeyValuePair`2"
    },
    {
      "Key":"Transfer-Encoding",
      "Value":[
        "chunked"
      ],
      "$type":"KeyValuePair`2"
    },
    {
      "Key":"Connection",
      "Value":[
        "keep-alive"
      ],
      "$type":"KeyValuePair`2"
    },
    {
      "Key":"Vary",
      "Value":[
        "Origin",
        "Access-Control-Request-Method",
        "Access-Control-Request-Headers"
      ],
      "$type":"KeyValuePair`2"
    },
    {
      "Key":"X-Content-Type-Options",
      "Value":[
        "nosniff"
      ],
      "$type":"KeyValuePair`2"
    },
    {
      "Key":"X-XSS-Protection",
      "Value":[
        "0"
      ],
      "$type":"KeyValuePair`2"
    },
    {
      "Key":"Cache-Control",
      "Value":[
        "no-store, must-revalidate, no-cache, max-age=0"
      ],
      "$type":"KeyValuePair`2"
    },
    {
      "Key":"Pragma",
      "Value":[
        "no-cache"
      ],
      "$type":"KeyValuePair`2"
    },
    {
      "Key":"X-Frame-Options",
      "Value":[
        "DENY"
      ],
      "$type":"KeyValuePair`2"
    }
  ],
  "TrailingHeaders":[ ],
  "RequestMessage":{
    "Version":{
      "Major":1,
      "Minor":1,
      "Build":-1,
      "Revision":-1,
      "MajorRevision":-1,
      "MinorRevision":-1,
      "$type":"Version"
    },
    "VersionPolicy":"RequestVersionOrLower",
    "Content":{
      "ObjectType":"<>f__AnonymousType0`1[System.Collections.Generic.IEnumerable`1[System.String]]",
      "Value":{
        "externalIds":[
          "88a03775-8b08-4365-85b8-86b3d817c991"
        ]
      },
      "Headers":[
        {
          "Key":"Content-Type",
          "Value":[
            "application/json; charset=utf-8"
          ],
          "$type":"KeyValuePair`2"
        },
        {
          "Key":"Content-Length",
          "Value":[
            "56"
          ],
          "$type":"KeyValuePair`2"
        }
      ],
      "$type":"JsonContent"
    },
    "Method":{
      "Method":"POST",
      "$type":"HttpMethod"
    },
    "RequestUri":"http://partners-gate.tx.test/v6/sharing-state/ready",
    "Headers":[
      {
        "Key":"Authorization",
        "Value":[
          "Bearer ..."
        ],
        "$type":"KeyValuePair`2"
      }
    ],
    "Properties":[ ],
    "Options":[ ],
    "$type":"HttpRequestMessage"
  },
  "IsSuccessStatusCode":false,
  "$type":"HttpResponseMessage"
}
{"Timestamp":"2024-07-08T13:20:46.3601458+00:00","Level":"Information","MessageTemplate":"Response: {@Response}","RenderedMessage":"Response: HttpResponseMessage { Version: Version { Major: 1, Minor: 1, Build: -1, Revision: -1, MajorRevision: -1, MinorRevision: -1 }, Content: HttpConnectionResponseContent { Headers: [KeyValuePair`2 { Key: \"Content-Type\", Value: [\"application/json\"] }, KeyValuePair`2 { Key: \"Expires\", Value: [\"0\"] }] }, StatusCode: BadRequest, ReasonPhrase: \"\", Headers: [KeyValuePair`2 { Key: \"Date\", Value: [\"Mon, 08 Jul 2024 13:20:46 GMT\"] }, KeyValuePair`2 { Key: \"Transfer-Encoding\", Value: [\"chunked\"] }, KeyValuePair`2 { Key: \"Connection\", Value: [\"keep-alive\"] }, KeyValuePair`2 { Key: \"Vary\", Value: [\"Origin\", \"Access-Control-Request-Method\", \"Access-Control-Request-Headers\"] }, KeyValuePair`2 { Key: \"X-Content-Type-Options\", Value: [\"nosniff\"] }, KeyValuePair`2 { Key: \"X-XSS-Protection\", Value: [\"0\"] }, KeyValuePair`2 { Key: \"Cache-Control\", Value: [\"no-store, must-revalidate, no-cache, max-age=0\"] }, KeyValuePair`2 { Key: \"Pragma\", Value: [\"no-cache\"] }, KeyValuePair`2 { Key: \"X-Frame-Options\", Value: [\"DENY\"] }], TrailingHeaders: [], RequestMessage: HttpRequestMessage { Version: Version { Major: 1, Minor: 1, Build: -1, Revision: -1, MajorRevision: -1, MinorRevision: -1 }, VersionPolicy: RequestVersionOrLower, Content: JsonContent { ObjectType: <>f__AnonymousType0`1[System.Collections.Generic.IEnumerable`1[System.String]], Value: { externalIds: [\"88a03775-8b08-4365-85b8-86b3d817c991\"] }, Headers: [KeyValuePair`2 { Key: \"Content-Type\", Value: [\"application/json; charset=utf-8\"] }, KeyValuePair`2 { Key: \"Content-Length\", Value: [\"56\"] }] }, Method: HttpMethod { Method: \"POST\" }, RequestUri: http://partners-gate.tx.test/v6/sharing-state/ready, Headers: [KeyValuePair`2 { Key: \"Authorization\", Value: [\"Bearer ..."] }], Properties: [], Options: [] }, IsSuccessStatusCode: False }","Properties":{"Response":{"Version":{"Major":1,"Minor":1,"Build":-1,"Revision":-1,"MajorRevision":-1,"MinorRevision":-1,"_typeTag":"Version"},"Content":{"Headers":[{"Key":"Content-Type","Value":["application/json"],"_typeTag":"KeyValuePair`2"},{"Key":"Expires","Value":["0"],"_typeTag":"KeyValuePair`2"}],"_typeTag":"HttpConnectionResponseContent"},"StatusCode":"BadRequest","ReasonPhrase":"","Headers":[{"Key":"Date","Value":["Mon, 08 Jul 2024 13:20:46 GMT"],"_typeTag":"KeyValuePair`2"},{"Key":"Transfer-Encoding","Value":["chunked"],"_typeTag":"KeyValuePair`2"},{"Key":"Connection","Value":["keep-alive"],"_typeTag":"KeyValuePair`2"},{"Key":"Vary","Value":["Origin","Access-Control-Request-Method","Access-Control-Request-Headers"],"_typeTag":"KeyValuePair`2"},{"Key":"X-Content-Type-Options","Value":["nosniff"],"_typeTag":"KeyValuePair`2"},{"Key":"X-XSS-Protection","Value":["0"],"_typeTag":"KeyValuePair`2"},{"Key":"Cache-Control","Value":["no-store, must-revalidate, no-cache, max-age=0"],"_typeTag":"KeyValuePair`2"},{"Key":"Pragma","Value":["no-cache"],"_typeTag":"KeyValuePair`2"},{"Key":"X-Frame-Options","Value":["DENY"],"_typeTag":"KeyValuePair`2"}],"TrailingHeaders":[],"RequestMessage":{"Version":{"Major":1,"Minor":1,"Build":-1,"Revision":-1,"MajorRevision":-1,"MinorRevision":-1,"_typeTag":"Version"},"VersionPolicy":"RequestVersionOrLower","Content":{"ObjectType":"<>f__AnonymousType0`1[System.Collections.Generic.IEnumerable`1[System.String]]","Value":{"externalIds":["88a03775-8b08-4365-85b8-86b3d817c991"]},"Headers":[{"Key":"Content-Type","Value":["application/json; charset=utf-8"],"_typeTag":"KeyValuePair`2"},{"Key":"Content-Length","Value":["56"],"_typeTag":"KeyValuePair`2"}],"_typeTag":"JsonContent"},"Method":{"Method":"POST","_typeTag":"HttpMethod"},"RequestUri":"http://partners-gate.tx.test/v6/sharing-state/ready","Headers":[{"Key":"Authorization","Value":["Bearer ..."],"_typeTag":"KeyValuePair`2"}],"Properties":[],"Options":[],"_typeTag":"HttpRequestMessage"},"IsSuccessStatusCode":false,"_typeTag":"HttpResponseMessage"},"SourceContext":"Org.Eclipse.TractusX.Portal.Backend.Bpdm.Library.BpdmService","HttpMethod":"POST","Uri":"http://partners-gate.tx.test/v6/sharing-state/ready","Scope":["HTTP POST http://partners-gate.tx.test/v6/sharing-state/ready"],"Application":"Org.Eclipse.TractusX.Portal.Backend.Process.Worker"}}
[13:20:46 DBG] Responded with status code: BadRequest and data: 
{
  "timestamp":"2024-07-08T13:20:46.350+00:00",
  "status":400,
  "error":"Bad Request",
  "path":"/v6/sharing-state/ready"
}
{
  "Timestamp":"2024-07-08T13:20:46.3608206+00:00",
  "Level":"Debug",
  "MessageTemplate":"Responded with status code: {@StatusCode} and data: {@Data}",
  "RenderedMessage":"Responded with status code: BadRequest and data: \"{\\\"timestamp\\\":\\\"2024-07-08T13:20:46.350+00:00\\\",\\\"status\\\":400,\\\"error\\\":\\\"Bad Request\\\",\\\"path\\\":\\\"/v6/sharing-state/ready\\\"}\"",
  "Properties":{
    "StatusCode":"BadRequest",
    "Data":"{\"timestamp\":\"2024-07-08T13:20:46.350+00:00\",\"status\":400,\"error\":\"Bad Request\",\"path\":\"/v6/sharing-state/ready\"}",
    "SourceContext":"Org.Eclipse.TractusX.Portal.Backend.Bpdm.Library.BpdmService",
    "HttpMethod":"POST",
    "Uri":"http://partners-gate.tx.test/v6/sharing-state/ready",
    "Scope":[
      "HTTP POST http://partners-gate.tx.test/v6/sharing-state/ready"
    ],
    "Application":"Org.Eclipse.TractusX.Portal.Backend.Process.Worker"
  }
}
[13:20:46 INF] End processing HTTP request after 121.0697ms - 400

Gate log shows:

2024-07-08 13:20:46.246 INFO  [00003CRHK}] [f1306cb472] [nio-8081-exec-5] o.e.t.b.common.config.UserLoggingFilter  : User '{bpn=BPNL00000003CRHK}' requests POST /v6/sharing-state/ready...
2024-07-08 13:20:46.342 DEBUG [00003CRHK}] [f1306cb472] [nio-8081-exec-5] o.e.t.b.g.e.GateExceptionHandler         : org.eclipse.tractusx.bpdm.gate.exception.BpdmInvalidStateException: The following business partners are in an invalid state: InvalidState(externalId=88a03775-8b08-4365-85b8-86b3d817c991, stateType=Ready)
2024-07-08 13:20:46.343 INFO  [00003CRHK}] [f1306cb472] [nio-8081-exec-5] o.e.t.b.common.config.UserLoggingFilter  : Response with status 400
gomezbc commented 2 months ago

Hi @ipa-big ,I have also updated to 5.0.2. Although I continue getting 400 error, the BPNL is successfully created (you may have to wait a little to be created).

Check it running this script

TOKEN=$(curl -s -X POST 'http://centralidp.tx.test/auth/realms/CX-Central/protocol/openid-connect/token' \
             -H 'Content-Type: application/x-www-form-urlencoded' \
             -d 'scope=openid' \
             -d 'grant_type=client_credentials' \
             -d 'client_id=sa-cl7-cx-5' \
             -d 'client_secret=bWSck103qNJ0jZ1LVtG9mUAlcL7R5RLg' | jq -r '.access_token')

curl -X GET 'http://partners-pool.tx.test/v6/legal-entities' \
     -H "Authorization: Bearer $TOKEN"| jq

If you get a response with the BPNL, you can use the following SQL script to assign manually the BPN continue to the next step. Connect through the pgadmin to the portal backend:

Host: umbrella-portal-backend-postgresql

Port: 5432

User: postgres

Password: dbpasswordportal

Launch a Query Tool connected to the portal database and execute this script:

[!important] Replace YOUR_BPNL with the BPNL you obtained previously.

WITH applications AS (
    SELECT distinct ca.id as Id, ca.checklist_process_id as ChecklistId, ca.company_id as CompanyId
    FROM portal.company_applications as ca
             JOIN portal.application_checklist as ac ON ca.id = ac.application_id
    where ca.application_status_id = 7 and ac.application_checklist_entry_type_id = 2 and ac.application_checklist_entry_status_id = 4
),
updated_company AS (
 UPDATE portal.companies
     SET business_partner_number = 'YOUR_BPNL'
     WHERE id IN (SELECT CompanyId FROM applications)
     RETURNING *
)
UPDATE portal.application_checklist
    SET date_last_changed = now(), application_checklist_entry_status_id = 3, comment = null
    WHERE application_id IN (SELECT Id FROM applications) AND application_checklist_entry_type_id = 2;

-- Create the process that continues with the registration progress
WITH applications AS (
    SELECT distinct ca.id as Id, ca.checklist_process_id as ChecklistId, ca.company_id as CompanyId
    FROM portal.company_applications as ca
             JOIN portal.application_checklist as ac ON ca.id = ac.application_id
    where ca.application_status_id = 7 and ac.application_checklist_entry_type_id = 3 and ac.application_checklist_entry_status_id = 1
)
INSERT INTO portal.process_steps (id, process_step_type_id, process_step_status_id, date_created, date_last_changed, process_id, message)
SELECT gen_random_uuid(), 5, 1, now(), NULL, a.ChecklistId, NULL
FROM applications a;
ipa-big commented 2 months ago

Ah ok. Now the "BPN Creation" and the "Identity Wallet Creation" Step are in "approved" state.

I had the problem that

GET http://partners-pool.tx.test/v6/legal-entities

always returned an empty array

What worked for me:

  1. Let the BPN Creation step fail for the first time (by not doing the manual approval / "data validation")
  2. Do the "data validation" manually in the portal frontend
  3. Retrigger the BPN Creation
  4. Recreate the Business Partner in BPDM Gate (PUT http://partners-gate.tx.test/v6/input/business-partners)
  5. Run your SQL Queries

Now the result looks like this: image

In this state i tried @Phil91's sql query (https://github.com/eclipse-tractusx/portal-backend/issues/819#issuecomment-2209478653) but it did not change anything (clearing house and self description are still in to-do state). I will try to add the clearing house service to my setup in order to make the last two steps, too

gomezbc commented 2 months ago

For the @Phil91 sql query to work, the clearing house step has to fail first, so that ac.application_checklist_entry_status_id = 4 condition is fulfilled.

You can achieve that by setting backend.clearinghouseAddress value to an endpoint that is reachable but doesn't exist to return 404 error. Or by modifying the query to get applications that are in pending state, setting the condition to ac.application_checklist_entry_status_id = 1 or to ac.application_checklist_entry_status_id = 2 (I don't have the db open, and I'm not sure)

WITH applications AS (
    SELECT distinct ca.id as Id, ca.checklist_process_id as ChecklistId
    FROM portal.company_applications as ca
             JOIN portal.application_checklist as ac ON ca.id = ac.application_id
    where ca.application_status_id = 7 and ac.application_checklist_entry_type_id = 6 and ac.application_checklist_entry_status_id = 1
),
updated AS (
 UPDATE portal.application_checklist
     SET application_checklist_entry_status_id = 3
     WHERE application_id IN (SELECT Id FROM applications)
     RETURNING *
)
INSERT INTO portal.process_steps (id, process_step_type_id, process_step_status_id, date_created, date_last_changed, process_id, message)
SELECT gen_random_uuid(), 12, 1, now(), NULL, a.ChecklistId, NULL
FROM applications a;
evegufy commented 2 months ago

Hi @ipa-big , to achieve BPDM integration i had to modify the centralidp keycloak configuration by adding the keyclaok clients BPDM components needed. Because BPDM chart uses the following keycloak config https://github.com/eclipse-tractusx/bpdm/blob/main/charts/bpdm/templates/keycloakRealm.tpl , as a workaround i merged the centralidp and BPDM keycloak config using jq utility. This is the output json: CX-Central-realm.json

How to replace the original centralidp with the new configuration:

  1. Replace the attached file with the file in this folder init-container/iam/centralidp/R2405
  2. Assuming you are using minikube, we are going to push the new image to the cluster following this guide
  3. Place your terminal in init-container folder and run the following script
  4. Reinstall the helm chart
eval $(minikube docker-env)
docker build -t tractusx/umbrella-init-container:0.1.0-init .

Check authentication events

You can check if the client authentication works by checking the events in centralidp: image I hope it can help you. If that's not the case, i think that there is another issue with the creation of a company business partner which i am trying to replicate, as soon as i find the issue i will reply this post.

Hi @nicoprow, as discussed, could you please provide the bpdm configuration which doesn't require a change to the centralidp CX-Central realm?

Hi @nicoprow could you please provide an update?

ipa-big commented 2 months ago

Right now I'm trying different combinations of Portal and BPDM versions in order to get a successful "BPN Creation" step when onboarding a company. For now I've tried:

Portal Version BPDM Version
2.0.0 5.0.2
1.8.1 4.0.4
2.0.0 4.0.4

Unfortunately, no combination works. E.g. Portal 2.0.0 / BPDM 4.0.4 gets stuck here:

image

Is there a compatibility matrix for Portal/BPDM or has the onboarding of companies never been working at all?

gomezbc commented 2 months ago

Hi @ipa-big, does BPN Creation fail? If it fails, probably is because the issue I mentioned here https://github.com/eclipse-tractusx/portal-backend/issues/830. I hope it can help you

ipa-big commented 2 months ago

When I use BDPM Chart Version 4.0.4 it looks like no BPN gets created at all. When I use Version 5.0.2 i get the same result as you describe in https://github.com/eclipse-tractusx/portal-backend/issues/830.

Maybe the new Chart version fixes some of the issues: https://github.com/eclipse-tractusx/bpdm/releases/tag/bpdm-5.1.0

ipa-big commented 2 months ago

Short Update from current state of work.

Finally, I do have a setup which completes the first three stages of the checklist (manually approve, BPN creation, Wallet creation) without any additional, manual actions from my side. I used the hint from here https://github.com/eclipse-tractusx/portal-backend/issues/830#issuecomment-2229881366 to overcome the "Bad Request" response from the BPDM. So no additional request to the BPDM and no SQL queries are required anymore.

Now I tried to use the toggle feature (mentioned here: https://github.com/eclipse-tractusx/portal-backend/pull/793 and here https://github.com/eclipse-tractusx/portal-backend/issues/819#issuecomment-2209478653) for connecting to clearing house and sd factory to also complete the last two stages of the onboarding checklist. Unfortunately, the last two stages are still failing:

image

Process Worker log shows

[12:55:37 INF] Start processing HTTP request POST http://notary.tx.test/api/v1/validation
{"Timestamp":"2024-07-17T12:55:37.8696123+00:00","Level":"Information","MessageTemplate":"Start processing HTTP request {HttpMethod} {Uri}","RenderedMessage":"Start processing HTTP request \"POST\" \"http://notary.tx.test/api/v1/validation\"","Properties":{"HttpMethod":"POST","Uri":"http://notary.tx.test/api/v1/validation","EventId":{"Id":100,"Name":"RequestPipelineStart"},"SourceContext":"System.Net.Http.HttpClient.ClearinghouseService.LogicalHandler","Scope":["HTTP POST http://notary.tx.test/api/v1/validation"],"Application":"Org.Eclipse.TractusX.Portal.Backend.Process.Worker"}}
[12:55:37 INF] Request: {"Version": {"Major": 1, "Minor": 1, "Build": -1, "Revision": -1, "MajorRevision": -1, "MinorRevision": -1, "$type": "Version"}, "VersionPolicy": "RequestVersionOrLower", "Content": {"ObjectType": "Org.Eclipse.TractusX.Portal.Backend.Clearinghouse.Library.Models.ClearinghouseTransferData", "Value": {"ParticipantDetails": {"Name": "Fraunhofer IPA", "City": "City", "Street": "Street 1", "Bpn": "BPNL000000000065", "Region": null, "ZipCode": "12345", "Country": "Germany", "CountryAlpha2Code": "DE", "$type": "ParticipantDetails"}, "IdentityDetails": {"Did": "did:web:managed-identity-wallets.tx.test:BPNL000000000065", "UniqueIds": [{"Type": "COMMERCIAL_REG_NUMBER", "Value": "eeeeeeeee", "$type": "UniqueIdData"}], "$type": "IdentityDetails"}, "CallbackUrl": "http://portal-backend.tx.test/api/administration/registration/clearinghouse", "ExceptProfile": false, "$type": "ClearinghouseTransferData"}, "Headers": [{"Key": "Content-Type", "Value": ["application/json; charset=utf-8"], "$type": "KeyValuePair`2"}], "$type": "JsonContent"}, "Method": {"Method": "POST", "$type": "HttpMethod"}, "RequestUri": "http://notary.tx.test/api/v1/validation", "Headers": [{"Key": "Authorization", "Value": ["Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJWcTlYSWRWRnBmT2x1MmFUX1VWOXN6QlFHSWdDRE5BV1U1Y01SUG9Rc3o0In0.eyJleHAiOjE3MjEyMjEyMzcsImlhdCI6MTcyMTIyMDkzNywianRpIjoiZGRlYTYzZDEtZTJlMi00YzRjLWJjYzgtZjUwZDY2YWYwZWMxIiwiaXNzIjoiaHR0cDovL2NlbnRyYWxpZHAudHgudGVzdC9hdXRoL3JlYWxtcy9DWC1DZW50cmFsIiwiYXVkIjoiQ2wyLUNYLVBvcnRhbCIsInN1YiI6ImYwYzY5YTY0LWRmYmUtNDZlNC05MmRiLTc1ZjZmNDY3MDkwOSIsInR5cCI6IkJlYXJlciIsImF6cCI6InNhLWNsMi0wMSIsInJlc291cmNlX2FjY2VzcyI6eyJDbDItQ1gtUG9ydGFsIjp7InJvbGVzIjpbInVwZGF0ZV9hcHBsaWNhdGlvbl9jaGVja2xpc3RfdmFsdWUiXX19LCJzY29wZSI6Im9wZW5pZCBwcm9maWxlIGVtYWlsIiwiYnBuIjoiQlBOTDAwMDAwMDAzQ1JISyIsImVtYWlsX3ZlcmlmaWVkIjpmYWxzZSwiY2xpZW50SG9zdCI6IjEwLjI0NC4wLjEiLCJwcmVmZXJyZWRfdXNlcm5hbWUiOiJzZXJ2aWNlLWFjY291bnQtc2EtY2wyLTAxIiwiY2xpZW50QWRkcmVzcyI6IjEwLjI0NC4wLjEiLCJjbGllbnRfaWQiOiJzYS1jbDItMDEifQ.FYwOd3YKcV6_R3c4aMUwdy8apuej33jgkCanSps3mYDRUZCNqAZrK6IUixodNde0Y1EyCupqNXrsjcblk0t21_-biQspsOg46cG2sgxMZ3otu9prEAEwsf078xw0pBDjqBiIwPdj_YeJ0fuDrSiGUgzY3o4hNN6ID8-mPdlqiiQzI2oTvE6LPaFzVtyETNMzxPkrYk3IsfiVJRZoW5NfqasXobqokVV7r2eyS17q5uoeoN9fcSPnK2CkGHyATvjU3sfiCdBiuT8Q1NST-aS4o_-tW8LrAMhh7Zs6L9lpi5zDx0xi3X42_zwf02nnLoJR8ZUUORlMeqPLJRfuVQrvHw"], "$type": "KeyValuePair`2"}], "Properties": [], "Options": [], "$type": "HttpRequestMessage"}
{"Timestamp":"2024-07-17T12:55:37.8702361+00:00","Level":"Information","MessageTemplate":"Request: {@Request}","RenderedMessage":"Request: HttpRequestMessage { Version: Version { Major: 1, Minor: 1, Build: -1, Revision: -1, MajorRevision: -1, MinorRevision: -1 }, VersionPolicy: RequestVersionOrLower, Content: JsonContent { ObjectType: Org.Eclipse.TractusX.Portal.Backend.Clearinghouse.Library.Models.ClearinghouseTransferData, Value: ClearinghouseTransferData { ParticipantDetails: ParticipantDetails { Name: \"Fraunhofer IPA\", City: \"City\", Street: \"Street 1\", Bpn: \"BPNL000000000065\", Region: null, ZipCode: \"12345\", Country: \"Germany\", CountryAlpha2Code: \"DE\" }, IdentityDetails: IdentityDetails { Did: \"did:web:managed-identity-wallets.tx.test:BPNL000000000065\", UniqueIds: [UniqueIdData { Type: \"COMMERCIAL_REG_NUMBER\", Value: \"eeeeeeeee\" }] }, CallbackUrl: \"http://portal-backend.tx.test/api/administration/registration/clearinghouse\", ExceptProfile: False }, Headers: [KeyValuePair`2 { Key: \"Content-Type\", Value: [\"application/json; charset=utf-8\"] }] }, Method: HttpMethod { Method: \"POST\" }, RequestUri: http://notary.tx.test/api/v1/validation, Headers: [KeyValuePair`2 { Key: \"Authorization\", Value: [\"Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJWcTlYSWRWRnBmT2x1MmFUX1VWOXN6QlFHSWdDRE5BV1U1Y01SUG9Rc3o0In0.eyJleHAiOjE3MjEyMjEyMzcsImlhdCI6MTcyMTIyMDkzNywianRpIjoiZGRlYTYzZDEtZTJlMi00YzRjLWJjYzgtZjUwZDY2YWYwZWMxIiwiaXNzIjoiaHR0cDovL2NlbnRyYWxpZHAudHgudGVzdC9hdXRoL3JlYWxtcy9DWC1DZW50cmFsIiwiYXVkIjoiQ2wyLUNYLVBvcnRhbCIsInN1YiI6ImYwYzY5YTY0LWRmYmUtNDZlNC05MmRiLTc1ZjZmNDY3MDkwOSIsInR5cCI6IkJlYXJlciIsImF6cCI6InNhLWNsMi0wMSIsInJlc291cmNlX2FjY2VzcyI6eyJDbDItQ1gtUG9ydGFsIjp7InJvbGVzIjpbInVwZGF0ZV9hcHBsaWNhdGlvbl9jaGVja2xpc3RfdmFsdWUiXX19LCJzY29wZSI6Im9wZW5pZCBwcm9maWxlIGVtYWlsIiwiYnBuIjoiQlBOTDAwMDAwMDAzQ1JISyIsImVtYWlsX3ZlcmlmaWVkIjpmYWxzZSwiY2xpZW50SG9zdCI6IjEwLjI0NC4wLjEiLCJwcmVmZXJyZWRfdXNlcm5hbWUiOiJzZXJ2aWNlLWFjY291bnQtc2EtY2wyLTAxIiwiY2xpZW50QWRkcmVzcyI6IjEwLjI0NC4wLjEiLCJjbGllbnRfaWQiOiJzYS1jbDItMDEifQ.FYwOd3YKcV6_R3c4aMUwdy8apuej33jgkCanSps3mYDRUZCNqAZrK6IUixodNde0Y1EyCupqNXrsjcblk0t21_-biQspsOg46cG2sgxMZ3otu9prEAEwsf078xw0pBDjqBiIwPdj_YeJ0fuDrSiGUgzY3o4hNN6ID8-mPdlqiiQzI2oTvE6LPaFzVtyETNMzxPkrYk3IsfiVJRZoW5NfqasXobqokVV7r2eyS17q5uoeoN9fcSPnK2CkGHyATvjU3sfiCdBiuT8Q1NST-aS4o_-tW8LrAMhh7Zs6L9lpi5zDx0xi3X42_zwf02nnLoJR8ZUUORlMeqPLJRfuVQrvHw\"] }], Properties: [], Options: [] }","Properties":{"Request":{"Version":{"Major":1,"Minor":1,"Build":-1,"Revision":-1,"MajorRevision":-1,"MinorRevision":-1,"_typeTag":"Version"},"VersionPolicy":"RequestVersionOrLower","Content":{"ObjectType":"Org.Eclipse.TractusX.Portal.Backend.Clearinghouse.Library.Models.ClearinghouseTransferData","Value":{"ParticipantDetails":{"Name":"Fraunhofer IPA","City":"City","Street":"Street 1","Bpn":"BPNL000000000065","Region":null,"ZipCode":"12345","Country":"Germany","CountryAlpha2Code":"DE","_typeTag":"ParticipantDetails"},"IdentityDetails":{"Did":"did:web:managed-identity-wallets.tx.test:BPNL000000000065","UniqueIds":[{"Type":"COMMERCIAL_REG_NUMBER","Value":"eeeeeeeee","_typeTag":"UniqueIdData"}],"_typeTag":"IdentityDetails"},"CallbackUrl":"http://portal-backend.tx.test/api/administration/registration/clearinghouse","ExceptProfile":false,"_typeTag":"ClearinghouseTransferData"},"Headers":[{"Key":"Content-Type","Value":["application/json; charset=utf-8"],"_typeTag":"KeyValuePair`2"}],"_typeTag":"JsonContent"},"Method":{"Method":"POST","_typeTag":"HttpMethod"},"RequestUri":"http://notary.tx.test/api/v1/validation","Headers":[{"Key":"Authorization","Value":["Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJWcTlYSWRWRnBmT2x1MmFUX1VWOXN6QlFHSWdDRE5BV1U1Y01SUG9Rc3o0In0.eyJleHAiOjE3MjEyMjEyMzcsImlhdCI6MTcyMTIyMDkzNywianRpIjoiZGRlYTYzZDEtZTJlMi00YzRjLWJjYzgtZjUwZDY2YWYwZWMxIiwiaXNzIjoiaHR0cDovL2NlbnRyYWxpZHAudHgudGVzdC9hdXRoL3JlYWxtcy9DWC1DZW50cmFsIiwiYXVkIjoiQ2wyLUNYLVBvcnRhbCIsInN1YiI6ImYwYzY5YTY0LWRmYmUtNDZlNC05MmRiLTc1ZjZmNDY3MDkwOSIsInR5cCI6IkJlYXJlciIsImF6cCI6InNhLWNsMi0wMSIsInJlc291cmNlX2FjY2VzcyI6eyJDbDItQ1gtUG9ydGFsIjp7InJvbGVzIjpbInVwZGF0ZV9hcHBsaWNhdGlvbl9jaGVja2xpc3RfdmFsdWUiXX19LCJzY29wZSI6Im9wZW5pZCBwcm9maWxlIGVtYWlsIiwiYnBuIjoiQlBOTDAwMDAwMDAzQ1JISyIsImVtYWlsX3ZlcmlmaWVkIjpmYWxzZSwiY2xpZW50SG9zdCI6IjEwLjI0NC4wLjEiLCJwcmVmZXJyZWRfdXNlcm5hbWUiOiJzZXJ2aWNlLWFjY291bnQtc2EtY2wyLTAxIiwiY2xpZW50QWRkcmVzcyI6IjEwLjI0NC4wLjEiLCJjbGllbnRfaWQiOiJzYS1jbDItMDEifQ.FYwOd3YKcV6_R3c4aMUwdy8apuej33jgkCanSps3mYDRUZCNqAZrK6IUixodNde0Y1EyCupqNXrsjcblk0t21_-biQspsOg46cG2sgxMZ3otu9prEAEwsf078xw0pBDjqBiIwPdj_YeJ0fuDrSiGUgzY3o4hNN6ID8-mPdlqiiQzI2oTvE6LPaFzVtyETNMzxPkrYk3IsfiVJRZoW5NfqasXobqokVV7r2eyS17q5uoeoN9fcSPnK2CkGHyATvjU3sfiCdBiuT8Q1NST-aS4o_-tW8LrAMhh7Zs6L9lpi5zDx0xi3X42_zwf02nnLoJR8ZUUORlMeqPLJRfuVQrvHw"],"_typeTag":"KeyValuePair`2"}],"Properties":[],"Options":[],"_typeTag":"HttpRequestMessage"},"SourceContext":"Org.Eclipse.TractusX.Portal.Backend.Clearinghouse.Library.ClearinghouseService","HttpMethod":"POST","Uri":"http://notary.tx.test/api/v1/validation","Scope":["HTTP POST http://notary.tx.test/api/v1/validation"],"Application":"Org.Eclipse.TractusX.Portal.Backend.Process.Worker"}}
[12:55:37 DBG] Request Content: {"participantDetails":{"name":"Fraunhofer IPA","city":"City","street":"Street 1","bpn":"BPNL000000000065","region":null,"zipCode":"12345","country":"Germany","countryAlpha2Code":"DE"},"identityDetails":{"did":"did:web:managed-identity-wallets.tx.test:BPNL000000000065","uniqueIds":[{"type":"COMMERCIAL_REG_NUMBER","value":"eeeeeeeee"}]},"callbackUrl":"http://portal-backend.tx.test/api/administration/registration/clearinghouse","exceptProfile":false}
{"Timestamp":"2024-07-17T12:55:37.9295588+00:00","Level":"Debug","MessageTemplate":"Request Content: {@Content}","RenderedMessage":"Request Content: \"{\\\"participantDetails\\\":{\\\"name\\\":\\\"Fraunhofer IPA\\\",\\\"city\\\":\\\"City\\\",\\\"street\\\":\\\"Street 1\\\",\\\"bpn\\\":\\\"BPNL000000000065\\\",\\\"region\\\":null,\\\"zipCode\\\":\\\"12345\\\",\\\"country\\\":\\\"Germany\\\",\\\"countryAlpha2Code\\\":\\\"DE\\\"},\\\"identityDetails\\\":{\\\"did\\\":\\\"did:web:managed-identity-wallets.tx.test:BPNL000000000065\\\",\\\"uniqueIds\\\":[{\\\"type\\\":\\\"COMMERCIAL_REG_NUMBER\\\",\\\"value\\\":\\\"eeeeeeeee\\\"}]},\\\"callbackUrl\\\":\\\"http://portal-backend.tx.test/api/administration/registration/clearinghouse\\\",\\\"exceptProfile\\\":false}\"","Properties":{"Content":"{\"participantDetails\":{\"name\":\"Fraunhofer IPA\",\"city\":\"City\",\"street\":\"Street 1\",\"bpn\":\"BPNL000000000065\",\"region\":null,\"zipCode\":\"12345\",\"country\":\"Germany\",\"countryAlpha2Code\":\"DE\"},\"identityDetails\":{\"did\":\"did:web:managed-identity-wallets.tx.test:BPNL000000000065\",\"uniqueIds\":[{\"type\":\"COMMERCIAL_REG_NUMBER\",\"value\":\"eeeeeeeee\"}]},\"callbackUrl\":\"http://portal-backend.tx.test/api/administration/registration/clearinghouse\",\"exceptProfile\":false}","SourceContext":"Org.Eclipse.TractusX.Portal.Backend.Clearinghouse.Library.ClearinghouseService","HttpMethod":"POST","Uri":"http://notary.tx.test/api/v1/validation","Scope":["HTTP POST http://notary.tx.test/api/v1/validation"],"Application":"Org.Eclipse.TractusX.Portal.Backend.Process.Worker"}}
[12:55:37 INF] Sending HTTP request POST http://notary.tx.test/api/v1/validation
{"Timestamp":"2024-07-17T12:55:37.9300171+00:00","Level":"Information","MessageTemplate":"Sending HTTP request {HttpMethod} {Uri}","RenderedMessage":"Sending HTTP request \"POST\" \"http://notary.tx.test/api/v1/validation\"","Properties":{"HttpMethod":"POST","Uri":"http://notary.tx.test/api/v1/validation","EventId":{"Id":100,"Name":"RequestStart"},"SourceContext":"System.Net.Http.HttpClient.ClearinghouseService.ClientHandler","Scope":["HTTP POST http://notary.tx.test/api/v1/validation"],"Application":"Org.Eclipse.TractusX.Portal.Backend.Process.Worker"}}
[12:55:37 INF] Received HTTP response headers after 11.4925ms - 503
{"Timestamp":"2024-07-17T12:55:37.9416810+00:00","Level":"Information","MessageTemplate":"Received HTTP response headers after {ElapsedMilliseconds}ms - {StatusCode}","RenderedMessage":"Received HTTP response headers after 11.4925ms - 503","Properties":{"ElapsedMilliseconds":11.4925,"StatusCode":503,"EventId":{"Id":101,"Name":"RequestEnd"},"SourceContext":"System.Net.Http.HttpClient.ClearinghouseService.ClientHandler","HttpMethod":"POST","Uri":"http://notary.tx.test/api/v1/validation","Scope":["HTTP POST http://notary.tx.test/api/v1/validation"],"Application":"Org.Eclipse.TractusX.Portal.Backend.Process.Worker"}}
[12:55:37 INF] Response: {"Version": {"Major": 1, "Minor": 1, "Build": -1, "Revision": -1, "MajorRevision": -1, "MinorRevision": -1, "$type": "Version"}, "Content": {"Headers": [{"Key": "Content-Type", "Value": ["text/html"], "$type": "KeyValuePair`2"}, {"Key": "Content-Length", "Value": ["190"], "$type": "KeyValuePair`2"}], "$type": "HttpConnectionResponseContent"}, "StatusCode": "ServiceUnavailable", "ReasonPhrase": "Service Temporarily Unavailable", "Headers": [{"Key": "Date", "Value": ["Wed, 17 Jul 2024 12:55:37 GMT"], "$type": "KeyValuePair`2"}, {"Key": "Connection", "Value": ["keep-alive"], "$type": "KeyValuePair`2"}], "TrailingHeaders": [], "RequestMessage": {"Version": {"Major": 1, "Minor": 1, "Build": -1, "Revision": -1, "MajorRevision": -1, "MinorRevision": -1, "$type": "Version"}, "VersionPolicy": "RequestVersionOrLower", "Content": {"ObjectType": "Org.Eclipse.TractusX.Portal.Backend.Clearinghouse.Library.Models.ClearinghouseTransferData", "Value": {"ParticipantDetails": {"Name": "Fraunhofer IPA", "City": "City", "Street": "Street 1", "Bpn": "BPNL000000000065", "Region": null, "ZipCode": "12345", "Country": "Germany", "CountryAlpha2Code": "DE", "$type": "ParticipantDetails"}, "IdentityDetails": {"Did": "did:web:managed-identity-wallets.tx.test:BPNL000000000065", "UniqueIds": [{"Type": "COMMERCIAL_REG_NUMBER", "Value": "eeeeeeeee", "$type": "UniqueIdData"}], "$type": "IdentityDetails"}, "CallbackUrl": "http://portal-backend.tx.test/api/administration/registration/clearinghouse", "ExceptProfile": false, "$type": "ClearinghouseTransferData"}, "Headers": [{"Key": "Content-Type", "Value": ["application/json; charset=utf-8"], "$type": "KeyValuePair`2"}, {"Key": "Content-Length", "Value": ["451"], "$type": "KeyValuePair`2"}], "$type": "JsonContent"}, "Method": {"Method": "POST", "$type": "HttpMethod"}, "RequestUri": "http://notary.tx.test/api/v1/validation", "Headers": [{"Key": "Authorization", "Value": ["Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJWcTlYSWRWRnBmT2x1MmFUX1VWOXN6QlFHSWdDRE5BV1U1Y01SUG9Rc3o0In0.eyJleHAiOjE3MjEyMjEyMzcsImlhdCI6MTcyMTIyMDkzNywianRpIjoiZGRlYTYzZDEtZTJlMi00YzRjLWJjYzgtZjUwZDY2YWYwZWMxIiwiaXNzIjoiaHR0cDovL2NlbnRyYWxpZHAudHgudGVzdC9hdXRoL3JlYWxtcy9DWC1DZW50cmFsIiwiYXVkIjoiQ2wyLUNYLVBvcnRhbCIsInN1YiI6ImYwYzY5YTY0LWRmYmUtNDZlNC05MmRiLTc1ZjZmNDY3MDkwOSIsInR5cCI6IkJlYXJlciIsImF6cCI6InNhLWNsMi0wMSIsInJlc291cmNlX2FjY2VzcyI6eyJDbDItQ1gtUG9ydGFsIjp7InJvbGVzIjpbInVwZGF0ZV9hcHBsaWNhdGlvbl9jaGVja2xpc3RfdmFsdWUiXX19LCJzY29wZSI6Im9wZW5pZCBwcm9maWxlIGVtYWlsIiwiYnBuIjoiQlBOTDAwMDAwMDAzQ1JISyIsImVtYWlsX3ZlcmlmaWVkIjpmYWxzZSwiY2xpZW50SG9zdCI6IjEwLjI0NC4wLjEiLCJwcmVmZXJyZWRfdXNlcm5hbWUiOiJzZXJ2aWNlLWFjY291bnQtc2EtY2wyLTAxIiwiY2xpZW50QWRkcmVzcyI6IjEwLjI0NC4wLjEiLCJjbGllbnRfaWQiOiJzYS1jbDItMDEifQ.FYwOd3YKcV6_R3c4aMUwdy8apuej33jgkCanSps3mYDRUZCNqAZrK6IUixodNde0Y1EyCupqNXrsjcblk0t21_-biQspsOg46cG2sgxMZ3otu9prEAEwsf078xw0pBDjqBiIwPdj_YeJ0fuDrSiGUgzY3o4hNN6ID8-mPdlqiiQzI2oTvE6LPaFzVtyETNMzxPkrYk3IsfiVJRZoW5NfqasXobqokVV7r2eyS17q5uoeoN9fcSPnK2CkGHyATvjU3sfiCdBiuT8Q1NST-aS4o_-tW8LrAMhh7Zs6L9lpi5zDx0xi3X42_zwf02nnLoJR8ZUUORlMeqPLJRfuVQrvHw"], "$type": "KeyValuePair`2"}], "Properties": [], "Options": [], "$type": "HttpRequestMessage"}, "IsSuccessStatusCode": false, "$type": "HttpResponseMessage"}
{"Timestamp":"2024-07-17T12:55:37.9429193+00:00","Level":"Information","MessageTemplate":"Response: {@Response}","RenderedMessage":"Response: HttpResponseMessage { Version: Version { Major: 1, Minor: 1, Build: -1, Revision: -1, MajorRevision: -1, MinorRevision: -1 }, Content: HttpConnectionResponseContent { Headers: [KeyValuePair`2 { Key: \"Content-Type\", Value: [\"text/html\"] }, KeyValuePair`2 { Key: \"Content-Length\", Value: [\"190\"] }] }, StatusCode: ServiceUnavailable, ReasonPhrase: \"Service Temporarily Unavailable\", Headers: [KeyValuePair`2 { Key: \"Date\", Value: [\"Wed, 17 Jul 2024 12:55:37 GMT\"] }, KeyValuePair`2 { Key: \"Connection\", Value: [\"keep-alive\"] }], TrailingHeaders: [], RequestMessage: HttpRequestMessage { Version: Version { Major: 1, Minor: 1, Build: -1, Revision: -1, MajorRevision: -1, MinorRevision: -1 }, VersionPolicy: RequestVersionOrLower, Content: JsonContent { ObjectType: Org.Eclipse.TractusX.Portal.Backend.Clearinghouse.Library.Models.ClearinghouseTransferData, Value: ClearinghouseTransferData { ParticipantDetails: ParticipantDetails { Name: \"Fraunhofer IPA\", City: \"City\", Street: \"Street 1\", Bpn: \"BPNL000000000065\", Region: null, ZipCode: \"12345\", Country: \"Germany\", CountryAlpha2Code: \"DE\" }, IdentityDetails: IdentityDetails { Did: \"did:web:managed-identity-wallets.tx.test:BPNL000000000065\", UniqueIds: [UniqueIdData { Type: \"COMMERCIAL_REG_NUMBER\", Value: \"eeeeeeeee\" }] }, CallbackUrl: \"http://portal-backend.tx.test/api/administration/registration/clearinghouse\", ExceptProfile: False }, Headers: [KeyValuePair`2 { Key: \"Content-Type\", Value: [\"application/json; charset=utf-8\"] }, KeyValuePair`2 { Key: \"Content-Length\", Value: [\"451\"] }] }, Method: HttpMethod { Method: \"POST\" }, RequestUri: http://notary.tx.test/api/v1/validation, Headers: [KeyValuePair`2 { Key: \"Authorization\", Value: [\"Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJWcTlYSWRWRnBmT2x1MmFUX1VWOXN6QlFHSWdDRE5BV1U1Y01SUG9Rc3o0In0.eyJleHAiOjE3MjEyMjEyMzcsImlhdCI6MTcyMTIyMDkzNywianRpIjoiZGRlYTYzZDEtZTJlMi00YzRjLWJjYzgtZjUwZDY2YWYwZWMxIiwiaXNzIjoiaHR0cDovL2NlbnRyYWxpZHAudHgudGVzdC9hdXRoL3JlYWxtcy9DWC1DZW50cmFsIiwiYXVkIjoiQ2wyLUNYLVBvcnRhbCIsInN1YiI6ImYwYzY5YTY0LWRmYmUtNDZlNC05MmRiLTc1ZjZmNDY3MDkwOSIsInR5cCI6IkJlYXJlciIsImF6cCI6InNhLWNsMi0wMSIsInJlc291cmNlX2FjY2VzcyI6eyJDbDItQ1gtUG9ydGFsIjp7InJvbGVzIjpbInVwZGF0ZV9hcHBsaWNhdGlvbl9jaGVja2xpc3RfdmFsdWUiXX19LCJzY29wZSI6Im9wZW5pZCBwcm9maWxlIGVtYWlsIiwiYnBuIjoiQlBOTDAwMDAwMDAzQ1JISyIsImVtYWlsX3ZlcmlmaWVkIjpmYWxzZSwiY2xpZW50SG9zdCI6IjEwLjI0NC4wLjEiLCJwcmVmZXJyZWRfdXNlcm5hbWUiOiJzZXJ2aWNlLWFjY291bnQtc2EtY2wyLTAxIiwiY2xpZW50QWRkcmVzcyI6IjEwLjI0NC4wLjEiLCJjbGllbnRfaWQiOiJzYS1jbDItMDEifQ.FYwOd3YKcV6_R3c4aMUwdy8apuej33jgkCanSps3mYDRUZCNqAZrK6IUixodNde0Y1EyCupqNXrsjcblk0t21_-biQspsOg46cG2sgxMZ3otu9prEAEwsf078xw0pBDjqBiIwPdj_YeJ0fuDrSiGUgzY3o4hNN6ID8-mPdlqiiQzI2oTvE6LPaFzVtyETNMzxPkrYk3IsfiVJRZoW5NfqasXobqokVV7r2eyS17q5uoeoN9fcSPnK2CkGHyATvjU3sfiCdBiuT8Q1NST-aS4o_-tW8LrAMhh7Zs6L9lpi5zDx0xi3X42_zwf02nnLoJR8ZUUORlMeqPLJRfuVQrvHw\"] }], Properties: [], Options: [] }, IsSuccessStatusCode: False }","Properties":{"Response":{"Version":{"Major":1,"Minor":1,"Build":-1,"Revision":-1,"MajorRevision":-1,"MinorRevision":-1,"_typeTag":"Version"},"Content":{"Headers":[{"Key":"Content-Type","Value":["text/html"],"_typeTag":"KeyValuePair`2"},{"Key":"Content-Length","Value":["190"],"_typeTag":"KeyValuePair`2"}],"_typeTag":"HttpConnectionResponseContent"},"StatusCode":"ServiceUnavailable","ReasonPhrase":"Service Temporarily Unavailable","Headers":[{"Key":"Date","Value":["Wed, 17 Jul 2024 12:55:37 GMT"],"_typeTag":"KeyValuePair`2"},{"Key":"Connection","Value":["keep-alive"],"_typeTag":"KeyValuePair`2"}],"TrailingHeaders":[],"RequestMessage":{"Version":{"Major":1,"Minor":1,"Build":-1,"Revision":-1,"MajorRevision":-1,"MinorRevision":-1,"_typeTag":"Version"},"VersionPolicy":"RequestVersionOrLower","Content":{"ObjectType":"Org.Eclipse.TractusX.Portal.Backend.Clearinghouse.Library.Models.ClearinghouseTransferData","Value":{"ParticipantDetails":{"Name":"Fraunhofer IPA","City":"City","Street":"Street 1","Bpn":"BPNL000000000065","Region":null,"ZipCode":"12345","Country":"Germany","CountryAlpha2Code":"DE","_typeTag":"ParticipantDetails"},"IdentityDetails":{"Did":"did:web:managed-identity-wallets.tx.test:BPNL000000000065","UniqueIds":[{"Type":"COMMERCIAL_REG_NUMBER","Value":"eeeeeeeee","_typeTag":"UniqueIdData"}],"_typeTag":"IdentityDetails"},"CallbackUrl":"http://portal-backend.tx.test/api/administration/registration/clearinghouse","ExceptProfile":false,"_typeTag":"ClearinghouseTransferData"},"Headers":[{"Key":"Content-Type","Value":["application/json; charset=utf-8"],"_typeTag":"KeyValuePair`2"},{"Key":"Content-Length","Value":["451"],"_typeTag":"KeyValuePair`2"}],"_typeTag":"JsonContent"},"Method":{"Method":"POST","_typeTag":"HttpMethod"},"RequestUri":"http://notary.tx.test/api/v1/validation","Headers":[{"Key":"Authorization","Value":["Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJWcTlYSWRWRnBmT2x1MmFUX1VWOXN6QlFHSWdDRE5BV1U1Y01SUG9Rc3o0In0.eyJleHAiOjE3MjEyMjEyMzcsImlhdCI6MTcyMTIyMDkzNywianRpIjoiZGRlYTYzZDEtZTJlMi00YzRjLWJjYzgtZjUwZDY2YWYwZWMxIiwiaXNzIjoiaHR0cDovL2NlbnRyYWxpZHAudHgudGVzdC9hdXRoL3JlYWxtcy9DWC1DZW50cmFsIiwiYXVkIjoiQ2wyLUNYLVBvcnRhbCIsInN1YiI6ImYwYzY5YTY0LWRmYmUtNDZlNC05MmRiLTc1ZjZmNDY3MDkwOSIsInR5cCI6IkJlYXJlciIsImF6cCI6InNhLWNsMi0wMSIsInJlc291cmNlX2FjY2VzcyI6eyJDbDItQ1gtUG9ydGFsIjp7InJvbGVzIjpbInVwZGF0ZV9hcHBsaWNhdGlvbl9jaGVja2xpc3RfdmFsdWUiXX19LCJzY29wZSI6Im9wZW5pZCBwcm9maWxlIGVtYWlsIiwiYnBuIjoiQlBOTDAwMDAwMDAzQ1JISyIsImVtYWlsX3ZlcmlmaWVkIjpmYWxzZSwiY2xpZW50SG9zdCI6IjEwLjI0NC4wLjEiLCJwcmVmZXJyZWRfdXNlcm5hbWUiOiJzZXJ2aWNlLWFjY291bnQtc2EtY2wyLTAxIiwiY2xpZW50QWRkcmVzcyI6IjEwLjI0NC4wLjEiLCJjbGllbnRfaWQiOiJzYS1jbDItMDEifQ.FYwOd3YKcV6_R3c4aMUwdy8apuej33jgkCanSps3mYDRUZCNqAZrK6IUixodNde0Y1EyCupqNXrsjcblk0t21_-biQspsOg46cG2sgxMZ3otu9prEAEwsf078xw0pBDjqBiIwPdj_YeJ0fuDrSiGUgzY3o4hNN6ID8-mPdlqiiQzI2oTvE6LPaFzVtyETNMzxPkrYk3IsfiVJRZoW5NfqasXobqokVV7r2eyS17q5uoeoN9fcSPnK2CkGHyATvjU3sfiCdBiuT8Q1NST-aS4o_-tW8LrAMhh7Zs6L9lpi5zDx0xi3X42_zwf02nnLoJR8ZUUORlMeqPLJRfuVQrvHw"],"_typeTag":"KeyValuePair`2"}],"Properties":[],"Options":[],"_typeTag":"HttpRequestMessage"},"IsSuccessStatusCode":false,"_typeTag":"HttpResponseMessage"},"SourceContext":"Org.Eclipse.TractusX.Portal.Backend.Clearinghouse.Library.ClearinghouseService","HttpMethod":"POST","Uri":"http://notary.tx.test/api/v1/validation","Scope":["HTTP POST http://notary.tx.test/api/v1/validation"],"Application":"Org.Eclipse.TractusX.Portal.Backend.Process.Worker"}}

I've checked out version "portal-2.1.0-RC1" of the portal repo and used the chart in my overall chart like this:

---
apiVersion: v2
name: umbrella
sources:
  - https://github.com/eclipse-tractusx/tractus-x-umbrella
type: application
version: 1.0.0

dependencies:
  # portal
  - condition: portal.enabled
    name: portal
    repository: file:///tmp/tractus-x-portal/charts/portal
    version: 2.1.0-RC1
  # cx-iam
  - condition: centralidp.enabled
    name: centralidp
    repository: https://eclipse-tractusx.github.io/charts/dev
    version: 3.0.0
  - condition: sharedidp.enabled
    name: sharedidp
    repository: https://eclipse-tractusx.github.io/charts/dev
    version: 3.0.0
  # discovery-finder para cosas de Digital Twin
  - condition: discoveryfinder.enabled
    name: discoveryfinder
    repository: https://eclipse-tractusx.github.io/charts/dev
    version: 0.2.2
    # bpn-discovery para cosas de Digital Twin
  - condition: bpndiscovery.enabled
    name: bpndiscovery
    repository: https://eclipse-tractusx.github.io/charts/dev
    version: 0.2.2
    # sd-factory
  - condition: selfdescription.enabled
    name: sdfactory
    alias: selfdescription
    repository: https://eclipse-tractusx.github.io/charts/dev
    version: 2.1.19
    # miw
  - name: managed-identity-wallet
    repository: https://eclipse-tractusx.github.io/charts/dev
    version: 0.4.0
    condition: managed-identity-wallet.enabled
  # semantic-hub
  - condition: semantic-hub.enabled
    name: semantic-hub
    repository: https://eclipse-tractusx.github.io/charts/dev
    version: 0.2.2
  - name: bpdm
    condition: bpdm.enabled
    repository: https://eclipse-tractusx.github.io/charts/dev
    version: 5.0.2
    # TX Data Consumer 1
  - name: tx-data-provider
    alias: dataconsumerOne
    version: 0.0.5
    repository: https://eclipse-tractusx.github.io/charts/dev
    condition: dataconsumerOne.enabled
    # TX Data Providers
  - name: tx-data-provider
    version: 0.0.5
    repository: https://eclipse-tractusx.github.io/charts/dev
    condition: tx-data-provider.enabled
    # TX Data Consumer 2
  - name: tx-data-provider
    alias: dataconsumerTwo
    version: 0.0.5
    repository: https://eclipse-tractusx.github.io/charts/dev
    condition: dataconsumerTwo.enabled
    # pgadmin4 as helper tool for easy database access
  - condition: pgadmin4.enabled
    name: pgadmin4
    repository: https://helm.runix.net
    version: 1.25.x

In order to disable communication between portal and clearinghouse/sd-factory, i modified all tag information (changed to v2.1.0-RC1) and added the "clearinghouseConnectDisabled" property in portal.backend.processworker like this:

portal:
  backend:
    processesworker:
      image:
        processworkertag: v2.1.0-RC1
      clearinghouseConnectDisabled: true      

With this setup I'm still stuck in the clearing house step. When I apply the sql query mentioned by @Phil91 (see here https://github.com/eclipse-tractusx/portal-backend/issues/819#issuecomment-2209478653) then "clearing house" and "self description" are in approved state but when I log in with the company user I do get the following message from the portal:

image

image

Is there still a bug in the toggle feature or did i miss something in setting up the portal and the bpdm?

ipa-big commented 2 months ago

Ok, i don't know why, but after rechecking this messages does not show up anymore:

image

After that I create a tech-user for the onboarded company and try to register a connector via

POST http://{{portal-backend-host}}:{{portal-backend-port}}/api/administration/Connectors

but this fails because the value of "self_description_document_id" (in the db of the portal-backend) of the new onboarded company is null (I guess because I skipped the clearing house and sd factory step during registration). After adding a value for the self description I'm finally able to register a connector.

evegufy commented 2 months ago

Right now I'm trying different combinations of Portal and BPDM versions in order to get a successful "BPN Creation" step when onboarding a company. For now I've tried:

Portal Version BPDM Version 2.0.0 5.0.2 1.8.1 4.0.4 2.0.0 4.0.4 Unfortunately, no combination works. E.g. Portal 2.0.0 / BPDM 4.0.4 gets stuck here:

image

Is there a compatibility matrix for Portal/BPDM or has the onboarding of companies never been working at all?

Hi @ipa-big yes, the versions aren't compatible Portal 2.0.0 is R24.05 and BPDM 4.0.x is R24.03 see https://eclipse-tractusx.github.io/CHANGELOG#2403---2024-03-08 and https://eclipse-tractusx.github.io/CHANGELOG#2405---2024-05-29

you did some awesome progress! just mentioning that we have a weekly open meeting around such issues, you're very welcome to join https://eclipse-tractusx.github.io/community/open-meetings#Umbrella%20Helm%20Chart%20Sync

nicoprow commented 2 months ago

Hi @ipa-big , to achieve BPDM integration i had to modify the centralidp keycloak configuration by adding the keyclaok clients BPDM components needed. Because BPDM chart uses the following keycloak config https://github.com/eclipse-tractusx/bpdm/blob/main/charts/bpdm/templates/keycloakRealm.tpl , as a workaround i merged the centralidp and BPDM keycloak config using jq utility. This is the output json: CX-Central-realm.json

How to replace the original centralidp with the new configuration:

  1. Replace the attached file with the file in this folder init-container/iam/centralidp/R2405
  2. Assuming you are using minikube, we are going to push the new image to the cluster following this guide
  3. Place your terminal in init-container folder and run the following script
  4. Reinstall the helm chart
eval $(minikube docker-env)
docker build -t tractusx/umbrella-init-container:0.1.0-init .

Check authentication events

You can check if the client authentication works by checking the events in centralidp: image I hope it can help you. If that's not the case, i think that there is another issue with the creation of a company business partner which i am trying to replicate, as soon as i find the issue i will reply this post.

Hi @nicoprow, as discussed, could you please provide the bpdm configuration which doesn't require a change to the centralidp CX-Central realm?

@evegufy

I created a working setup for BPDM inside the Umbrella chart with a new Hotfix 5.0.3: eclipse-tractusx/tractus-x-umbrella#108 that you can use for reference. The BPDM golden record process works as expected when using the BPDM APIs directly. I also put in some comments for why the current 5.0.2 deployment eclipse-tractusx/tractus-x-umbrella#106 may not work and added some corrections.

However, I experienced that at least the Portal's Partner Network contains outdated endpoint urls for the Pool and is unable to query business partners there. For the registration process I'm unsure if there is similar issues.

evegufy commented 2 months ago

Hi @ipa-big , to achieve BPDM integration i had to modify the centralidp keycloak configuration by adding the keyclaok clients BPDM components needed. Because BPDM chart uses the following keycloak config https://github.com/eclipse-tractusx/bpdm/blob/main/charts/bpdm/templates/keycloakRealm.tpl , as a workaround i merged the centralidp and BPDM keycloak config using jq utility. This is the output json: CX-Central-realm.json

How to replace the original centralidp with the new configuration:

  1. Replace the attached file with the file in this folder init-container/iam/centralidp/R2405
  2. Assuming you are using minikube, we are going to push the new image to the cluster following this guide
  3. Place your terminal in init-container folder and run the following script
  4. Reinstall the helm chart
eval $(minikube docker-env)
docker build -t tractusx/umbrella-init-container:0.1.0-init .

Check authentication events

You can check if the client authentication works by checking the events in centralidp: image I hope it can help you. If that's not the case, i think that there is another issue with the creation of a company business partner which i am trying to replicate, as soon as i find the issue i will reply this post.

Hi @nicoprow, as discussed, could you please provide the bpdm configuration which doesn't require a change to the centralidp CX-Central realm?

@evegufy

I created a working setup for BPDM inside the Umbrella chart with a new Hotfix 5.0.3: eclipse-tractusx/tractus-x-umbrella#108 that you can use for reference. The BPDM golden record process works as expected when using the BPDM APIs directly. I also put in some comments for why the current 5.0.2 deployment eclipse-tractusx/tractus-x-umbrella#106 may not work and added some corrections.

However, I experienced that at least the Portal's Partner Network contains outdated endpoint urls for the Pool and is unable to query business partners there. For the registration process I'm unsure if there is similar issues.

@nicoprow Great that you created the working setup!

Just quickly clarfying on what you mentioned regarding outdated endpoints in the portal: I assume you tested with the version of the portal which is currently still in the main branch of the umbrella repo, which is the portal version 1.8.0 for the release 24.03, that one is expected to be not compatible with the BPDM version for 24.05.

evegufy commented 2 months ago

Hi @gomezbc I'll close the issue now and I created https://github.com/eclipse-tractusx/tractus-x-umbrella/issues/115 to follow up on more proper documentation.