International-Data-Spaces-Association / metadata-broker-open-core

This is the repository of the open-core reference implementation of the IDS Metadata Broker.
Apache License 2.0
10 stars 17 forks source link

The following mandatory field(s) of Constraint are not filled or invalid: ids:pipEndpoint. #90

Open memaldi opened 2 years ago

memaldi commented 2 years ago

When I try to update a resource at the broker, I get the following response at the Dataspace Connector:

{
  "details": {
    "reason": {
      "properties": null,
      "@id": "https://w3id.org/idsa/code/INTERNAL_RECIPIENT_ERROR"
    },
    "payload": "The following mandatory field(s) of Constraint are not filled or invalid: ids:pipEndpoint. Note that the value of \"@id\" fields MUST be a valid URI (e.g. emails preceded by \"mailto:\"). Mandatory fields are: leftOperand, operator, pipEndpoint",
    "type": "de.fraunhofer.iais.eis.RejectionMessageImpl"
  },
  "message": "Received unexpected response message."
}

This is the log from the broker:

java.io.IOException: The following mandatory field(s) of Constraint are not filled or invalid: ids:pipEndpoint. Note that the value of "@id" fields MUST be a valid URI (e.g. emails preceded by "mailto:"). Mandatory fields are: leftOperand, operator, pipEndpoint
    at de.fraunhofer.iais.eis.ids.jsonld.Parser.handleObject(Parser.java:570)
    at de.fraunhofer.iais.eis.ids.jsonld.Parser.parseMessage(Parser.java:1084)
    at de.fraunhofer.iais.eis.ids.jsonld.Serializer.deserialize(Serializer.java:135)
    at de.fraunhofer.iais.eis.ids.broker.core.common.persistence.ResourcePersistenceAndIndexing.updated(ResourcePersistenceAndIndexing.java:191)
    at de.fraunhofer.iais.eis.ids.broker.core.common.persistence.ResourceMessageHandler.handleValidated(ResourceMessageHandler.java:84)
    at de.fraunhofer.iais.eis.ids.broker.core.common.persistence.ResourceMessageHandler.handleValidated(ResourceMessageHandler.java:22)
    at de.fraunhofer.iais.eis.ids.connector.commons.messagevalidation.ValidatingMessageHandler.handle(ValidatingMessageHandler.java:28)
    at de.fraunhofer.iais.eis.ids.component.core.MessageDispatcher.handle(MessageDispatcher.java:86)
    at de.fraunhofer.iais.eis.ids.component.core.MessageDispatcher.lambda$dispatch$2(MessageDispatcher.java:51)
    at java.base/java.util.Optional.map(Optional.java:265)
    at de.fraunhofer.iais.eis.ids.component.core.MessageDispatcher.dispatch(MessageDispatcher.java:51)
    at de.fraunhofer.iais.eis.ids.component.core.DefaultComponent.process(DefaultComponent.java:45)
    at de.fraunhofer.iais.eis.ids.component.interaction.multipart.MultipartComponentInteractor.process(MultipartComponentInteractor.java:87)
    at de.fraunhofer.iais.eis.ids.component.protocol.http.server.ComponentController.processMessage(ComponentController.java:237)
    at de.fraunhofer.iais.eis.ids.component.protocol.http.server.ComponentController.infrastructureLevelCommunication(ComponentController.java:205)
    at jdk.internal.reflect.GeneratedMethodAccessor121.invoke(Unknown Source)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:566)
    at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:189)
    at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138)
    at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:102)
    at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:895)
    at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:800)
    at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)
    at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1038)
    at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:942)
    at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1005)
    at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:908)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:665)
    at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:882)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:750)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:99)
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:92)
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    at org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:93)
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:200)
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
    at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:373)
    at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
    at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868)
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1589)
    at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    at java.base/java.lang.Thread.run(Thread.java:829)

And, the message the connector is sending:

2022-02-17T07:57:19,051 [http-nio-8080-exec-2] DEBUG - Sending request message: [code=(IMSMED0135), request=(--680b1ea4-1bf7-4549-8645-450bdc3768ee\r\nContent-Disposition: form-data; name="header"\r\nContent-Length: 2579\r\n\r\n{\n  "@context" : {\n    "ids" : "https://w3id.org/idsa/core/",\n    "idsc" : "https://w3id.org/idsa/code/"\n  },\n  "@type" : "ids:ResourceUpdateMessage",\n  "@id" : "https://w3id.org/idsa/autogen/resourceUpdateMessage/b4446cca-0ba5-419c-9383-2e00a777af4f",\n  "ids:affectedResource" : {\n    "@id" : "https://my.connector.eu/api/offers/04b94842-9ec5-4c66-82d6-ed5840086cf8"\n  },\n  "ids:modelVersion" : "4.2.7",\n  "ids:issued" : {\n    "@value" : "2022-02-17T07:57:18.889Z",\n    "@type" : "http://www.w3.org/2001/XMLSchema#dateTimeStamp"\n  },\n  "ids:issuerConnector" : {\n    "@id" : "https://w3id.org/idsa/autogen/baseConnector/7b934432-a85e-41c5-9f65-669219dde4ea"\n  },\n  "ids:senderAgent" : {\n    "@id" : "https://w3id.org/idsa/autogen/baseConnector/7b934432-a85e-41c5-9f65-669219dde4ea"\n  },\n  "ids:securityToken" : {\n    "@type" : "ids:DynamicAttributeToken",\n    "@id" : "https://w3id.org/idsa/autogen/dynamicAttributeToken/a796eb78-b4ac-4c1f-9806-2ed99795a4a5",\n    "ids:tokenValue" : "valid token",\n    "ids:tokenFormat" : {\n      "@id" : "https://w3id.org/idsa/code/JWT"\n    }\n  }\n}\r\n--680b1ea4-1bf7-4549-8645-450bdc3768ee\  r\nContent-Disposition: form-data; name="payload"\r\nContent-Length: 5350\r\n\r\n{\n  "@context" : {\n    "ids" : "https://w3id.org/idsa/core/",\n    "idsc" : "https://w3id.org/idsa/code/"\n  },\n  "@type" : "ids:Resource",\n  "@id" : "https://my.connector.eu/api/offers/04b94842-9ec5-4c66-82d6-ed5840086cf8",\n  "ids:language" : [ {\n    "@id" : "https://w3id.org/idsa/code/TR"\n  } ],\n  "ids:version" : "1",\n  "ids:description" : [ {\n    "@value" : "My Resource.",\n    "@language" : "TR"\n  } ],\n  "ids:keyword" : [ {\n    "@value" : "retail",\n    "@language" : "TR"\n  }, {\n    "@value" : "sales",\n    "@language" : "EN"\n  } ],\n  "ids:created" : {\n    "@value" : "2022-01-28T09:39:47.450Z",\n    "@type" : "http://www.w3.org/2001/XMLSchema#dateTimeStamp"\n  },\n  "ids:modified" : {\n    "@value" : "2022-01-28T09:39:47.451Z",\n    "@type" : "http://www.w3.org/2001/XMLSchema#dateTimeStamp"\n  },\n  "ids:title" : [ {\n    "@value" : "My Data",\n    "@language" : "TR"\n  } ],\n  "ids:representation" : [ {\n    "@type" : "ids:Representation",\n    "@id" : "https://my.connector.eu/api/repr
esentations/3f409a87-c44e-45ea-b2ef-4aa4ffbb8a70",\n    "ids:mediaType" : {\n      "@type" : "ids:IANAMediaType",\n      "@id" : "https://w3id.org/idsa/autogen/iANAMediaType/722ef83f-b604-4c79-932b-e0e9b7a950ad",\n      "ids:filenameExtension" : "application/json"\n    },\n    "ids:language" : {\n      "@id" : "https://w3id.org/idsa/code/TR"\n    },\n    "ids:instance" : [ {\n      "@type" : "ids:Artifact",\n      "@id" : "https://my.connector.eu/api/artifacts/4578e284-f42e-4331-ad19-6b6a908f2d9c",\n      "ids:fileName" : "My Data API",\n      "ids:creationDate" : {\n        "@value" : "2022-01-28T10:12:13.472Z",\n        "@type" : "http://www.w3.org/2001/XMLSchema#dateTimeStamp"\n      },\n      "ids:byteSize" : 0,\n      "ids:checkSum" : "0"\n    } ],\n    "ids:created" : {\n      "@value" : "2022-01-28T10:10:50.185Z",\n      "@type" : "http://www.w3.org/2001/XMLSchema#dateTimeStamp"\n    },\n    "ids:modified" : {\n      "@value" : "2022-01-28T10:10:50.185Z",\n      "@type" : "http://www.w3.org/2001/XMLSchema#dateTimeStamp"\n    },\n    "ids:representationStandard" : {\n      "@id" : ""\n    }\n  } ],\n  "ids:paymentModality" : {\n    "@id" : "https://w3id.org/idsa/code/NEGOTIATION_BASIS"\n  },\n  "ids:publisher" : {\n    "@id" : "https://www.data.eu/"\n  },\n  "ids:sovereign" : {\n    "@id" : "https://www.data.eu/"\n  },\n  "ids:standardLicense" : {\n    "@id" : "http://foo/bar/license"\n  },\n  "ids:resourceEndpoint" : [ {\n    "@type" : "ids:ConnectorEndpoint",\n    "@id" : "https://w3id.org/idsa/autogen/connectorEndpoint/bf026097-2968-4e3d-86a0-7f8302b80401",\n    "ids:endpointDocumentation" : [ {\n      "@id" : "http://my.api.eu/docs"\n    } ],\n    "ids:accessURL" : {\n      "@id" : "https://my.connector.eu/api/offers/04b94842-9ec5-4c66-82d6-ed5840086cf8"\n    }\n  } ],\n  "ids:contractOffer" : [ {\n    "@type" : "ids:ContractOffer",\n    "@id" : "https://my.connector.eu/api/contracts/2ec9cf51-bbb5-4d99-af20-
0f70cef407c5",\n    "ids:provider" : {\n      "@id" : "https://www.data.eu/"\n    },\n    "ids:permission" : [ {\n      "@type" : "ids:Permission",\n      "@id" : "https://my.connector.eu/api/rules/775482f8-670e-4c66-be9f-c8d90dea7df8",\n      "ids:description" : [ {\n        "@value" : "Free usage",\n        "@type" : "http://www.w3.org/2001/XMLSchema#string"\n      } ],\n      "ids:constraint" : [ {\n        "@type" : "ids:Constraint",\n        "@id" : "https://w3id.org/idsa/autogen/constraint/68626ae8-832a-462c-9af8-3f52d0bd163a",\n        "ids:leftOperand" : {\n          "@id" : "https://w3id.org/idsa/code/POLICY_EVALUATION_TIME"\n        },\n        "ids:rightOperand" : {\n          "@value" : "2022-01-01T00:00:00Z",\n          "@type" : "http://www.w3.org/2001/XMLSchema#dateTimeStamp"\n        },\n        "ids:pipEndpoint" : {\n          "@id" : "https://example.com/pip"\n        },\n        "ids:operator" : {\n          "@id" : "https://w3id.org/idsa/code/AFTER"\n        }\n      }, {\n        "@type" : "ids:Constraint",\n        "@id" : "https://w3id.org/idsa/autogen/constraint/22ed22e6-7ea6-49b6-b5ea-518989ddf554",\n        "ids:leftOperand" : {\n          "@id" : "https://w3id.org/idsa/code/POLICY_EVALUATION_TIME"\n        },\n        "ids:rightOperand" : {\n          "@value" : "2023-12-31T00:00:00Z",\n          "@type" : "http://www.w3.org/2001/XMLSchema#dateTimeStamp"\n        },\n        "ids:pipEndpoint" : {\n          "@id" : "https://example.com/pip"\n        },\n        "ids:operator" : {\n          "@id" : "https://w3id.org/idsa/code/BEFORE"\n        }\n      } ],\n      "ids:title" : [ {\n        "@value" : "Free usage",\n        "@type" : "http://www.w3.org/2001/XMLSchema#string"\n      } ],\n      "ids:action" : [ {\n        "@id" : "https://w3id.org/idsa/code/USE"\n      } ]\n    } ],\n    "ids:consumer" : {\n      "@id" : ""\n    },\n    "ids:contractEnd" : {\n      "@value" : "2023-12-31T12:00:00.000Z",\n      "@type" : "http://www.w3.org/2001/XMLSchema#dateTimeStamp"\n    },\n    "ids:contractStart" : {\n      "@value" : "2021-12-16T15:29:44.760Z",\n      "@type" : "http://www.w3.org/2001/XMLSchema#dateTimeStamp"\n    },\n    "ids:contractDate" : {\n      "@value" : "2022-02-17T07:57:18.778Z",\n      "@type" : "http://www.w3.org/2001/XMLSchema#dateTimeStamp"\n    }\n  } ]\n}\r\n--680b1ea4-1bf7-4549-8645-450bdc3768ee--\r\n)]
2022-02-17T07:57:19,051 [http-nio-8080-exec-2] INFO - Sending request to https://my.broker.eu/infrastructure ...

In a more readable way, header:

{
    "@context": {
        "ids": "https://w3id.org/idsa/core/",
        "idsc": "https://w3id.org/idsa/code/"
    },
    "@type": "ids:ResourceUpdateMessage",
    "@id": "https://w3id.org/idsa/autogen/resourceUpdateMessage/b4446cca-0ba5-419c-9383-2e00a777af4f",
    "ids:affectedResource": {
        "@id": "https://my.connector.eu/api/offers/04b94842-9ec5-4c66-82d6-ed5840086cf8"
    },
    "ids:modelVersion": "4.2.7",
    "ids:issued": {
        "@value": "2022-02-17T07:57:18.889Z",
        "@type": "http://www.w3.org/2001/XMLSchema#dateTimeStamp"
    },
    "ids:issuerConnector": {
        "@id": "https://w3id.org/idsa/autogen/baseConnector/7b934432-a85e-41c5-9f65-669219dde4ea"
    },
    "ids:senderAgent": {
        "@id": "https://w3id.org/idsa/autogen/baseConnector/7b934432-a85e-41c5-9f65-669219dde4ea"
    },
    "ids:securityToken": {
        "@type": "ids:DynamicAttributeToken",
        "@id": "https://w3id.org/idsa/autogen/dynamicAttributeToken/a796eb78-b4ac-4c1f-9806-2ed99795a4a5",
        "ids:tokenValue": "valid token",
        "ids:tokenFormat": {
            "@id": "https://w3id.org/idsa/code/JWT"
        }
    }
}

And payload:

{
    "@context": {
        "ids": "https://w3id.org/idsa/core/",
        "idsc": "https://w3id.org/idsa/code/"
    },
    "@type": "ids:Resource",
    "@id": "https://my.connector.eu/api/offers/04b94842-9ec5-4c66-82d6-ed5840086cf8",
    "ids:language": [{
        "@id": "https://w3id.org/idsa/code/TR"
    }],
    "ids:version": "1",
    "ids:description": [{
        "@value": "My Resource.",
        "@language": "TR"
    }],
    "ids:keyword": [{
        "@value": "retail",
        "@language": "TR"
    }, {
        "@value": "sales",
        "@language": "EN"
    }],
    "ids:created": {
        "@value": "2022-01-28T09:39:47.450Z",
        "@type": "http://www.w3.org/2001/XMLSchema#dateTimeStamp"
    },
    "ids:modified": {
        "@value": "2022-01-28T09:39:47.451Z",
        "@type": "http://www.w3.org/2001/XMLSchema#dateTimeStamp"
    },
    "ids:title": [{
        "@value": "My Data",
        "@language": "TR"
    }],
    "ids:representation": [{
        "@type": "ids:Representation",
        "@id": "https://my.connector.eu/api/representations/3f409a87-c44e-45ea-b2ef-4aa4ffbb8a70 ",
        "ids:mediaType": {
            "@type": "ids:IANAMediaType",
            "@id": "https://w3id.org/idsa/autogen/iANAMediaType/722ef83f-b604-4c79-932b-e0e9b7a950ad",
            "ids:filenameExtension": "application/json"
        },
        "ids:language": {
            "@id": "https://w3id.org/idsa/code/TR"
        },
        "ids:instance": [{
            "@type": "ids:Artifact",
            "@id": "https://my.connector.eu/api/artifacts/4578e284-f42e-4331-ad19-6b6a908f2d9c",
            "ids:fileName": "My Data API",
            "ids:creationDate": {
                "@value": "2022-01-28T10:12:13.472Z",
                "@type": "http://www.w3.org/2001/XMLSchema#dateTimeStamp"
            },
            "ids:byteSize": 0,
            "ids:checkSum": "0"
        }],
        "ids:created": {
            "@value": "2022-01-28T10:10:50.185Z",
            "@type": "http://www.w3.org/2001/XMLSchema#dateTimeStamp"
        },
        "ids:modified": {
            "@value": "2022-01-28T10:10:50.185Z",
            "@type": "http://www.w3.org/2001/XMLSchema#dateTimeStamp"
        },
        "ids:representationStandard": {
            "@id": ""
        }
    }],
    "ids:paymentModality": {
        "@id": "https://w3id.org/idsa/code/NEGOTIATION_BASIS"
    },
    "ids:publisher": {
        "@id": "https://www.data.eu/"
    },
    "ids:sovereign": {
        "@id": "https://www.data.eu/"
    },
    "ids:standardLicense": {
        "@id": "http://foo/bar/license"
    },
    "ids:resourceEndpoint": [{
        "@type": "ids:ConnectorEndpoint",
        "@id": "https://w3id.org/idsa/autogen/connectorEndpoint/bf026097-2968-4e3d-86a0-7f8302b80401",
        "ids:endpointDocumentation": [{
            "@id": "http://my.api.eu/docs"
        }],
        "ids:accessURL": {
            "@id": "https://my.connector.eu/api/offers/04b94842-9ec5-4c66-82d6-ed5840086cf8"
        }
    }],
    "ids:contractOffer": [{
        "@type": "ids:ContractOffer",
        "@id": "https://my.connector.eu/api/contracts/2ec9cf51-bbb5-4d99-af20-0f70cef407c5 ",
        "ids:provider": {
            "@id": "https://www.data.eu/"
        },
        "ids:permission": [{
            "@type": "ids:Permission",
            "@id": "https://my.connector.eu/api/rules/775482f8-670e-4c66-be9f-c8d90dea7df8",
            "ids:description": [{
                "@value": "Free usage",
                "@type": "http://www.w3.org/2001/XMLSchema#string"
            }],
            "ids:constraint": [{
                "@type": "ids:Constraint",
                "@id": "https://w3id.org/idsa/autogen/constraint/68626ae8-832a-462c-9af8-3f52d0bd163a",
                "ids:leftOperand": {
                    "@id": "https://w3id.org/idsa/code/POLICY_EVALUATION_TIME"
                },
                "ids:rightOperand": {
                    "@value": "2022-01-01T00:00:00Z",
                    "@type": "http://www.w3.org/2001/XMLSchema#dateTimeStamp"
                },
                "ids:pipEndpoint": {
                    "@id": "https://example.com/pip"
                },
                "ids:operator": {
                    "@id": "https://w3id.org/idsa/code/AFTER"
                }
            }, {
                "@type": "ids:Constraint",
                "@id": "https://w3id.org/idsa/autogen/constraint/22ed22e6-7ea6-49b6-b5ea-518989ddf554",
                "ids:leftOperand": {
                    "@id": "https://w3id.org/idsa/code/POLICY_EVALUATION_TIME"
                },
                "ids:rightOperand": {
                    "@value": "2023-12-31T00:00:00Z",
                    "@type": "http://www.w3.org/2001/XMLSchema#dateTimeStamp"
                },
                "ids:pipEndpoint": {
                    "@id": "https://example.com/pip"
                },
                "ids:operator": {
                    "@id": "https://w3id.org/idsa/code/BEFORE"
                }
            }],
            "ids:title": [{
                "@value": "Free usage",
                "@type": "http://www.w3.org/2001/XMLSchema#string"
            }],
            "ids:action": [{
                "@id": "https://w3id.org/idsa/code/USE"
            }]
        }],
        "ids:consumer": {
            "@id": ""
        },
        "ids:contractEnd": {
            "@value": "2023-12-31T12:00:00.000Z",
            "@type": "http://www.w3.org/2001/XMLSchema#dateTimeStamp"
        },
        "ids:contractStart": {
            "@value": "2021-12-16T15:29:44.760Z",
            "@type": "http://www.w3.org/2001/XMLSchema#dateTimeStamp"
        },
        "ids:contractDate": {
            "@value": "2022-02-17T07:57:18.778Z",
            "@type": "http://www.w3.org/2001/XMLSchema#dateTimeStamp"
        }
    }]
}

As can be seen, the connector seems to be sending the ids:pipEndpoint property correctly.

NehaThawani44 commented 2 years ago

@memaldi Please try this message for connector registration and let me now if there is still an error : { "@context": { "ids": "https://w3id.org/idsa/core/", "idsc": "https://w3id.org/idsa/code/", "mobids": "https://w3id.org/mobids/" }, "@id": "https://test.connector.de/testDataModel", "@type": "ids:BaseConnector", "ids:curator": { "@id": "https://connector.de/agent/" }, "ids:description": [ { "@type": "http://www.w3.org/2001/XMLSchema#string", "@value": "FRONTEND TESTING (This is a dummy description from the Interaction Library for testing)" } ], "ids:hasDefaultEndpoint": { "@id": "https://test.connector.de/data/", "@type": "ids:ConnectorEndpoint", "ids:accessURL": { "@id": "https://exmple.org/infrastructure" }, "ids:endpointDocumentation": [ { "@id": "https://app.swaggerhub.com/apis/idsa/IDS-Broker/1.3.1#/Multipart%20Interactions/post_infrastructure" } ], "ids:endpointInformation": [ { "@language": "en", "@value": "This endpoint provides IDS Connector information and IDS Resources." } ], "ids:path": "/infrastructure", "ids:soveriegn": { "@id": "https://exmple.org/infrastructure" } }, "ids:inboundModelVersion": [ "4.0.0" ], "ids:maintainer": { "@id": "https://connector.de/agent/" }, "ids:mainTitle": [ { "@type": "http://www.w3.org/2001/XMLSchema#string", "@value": "DRM TEST Mobids TAGS" } ], "ids:outboundModelVersion": "4.0.0", "ids:resourceCatalog": { "@id": "https://w3id.org/idsa/autogen/catalog/fa535e30-8cb0-4ede-b5a9-def764d69357", "@type": "ids:ResourceCatalog", "ids:offeredResource": [ { "@id": "https://w3id.org/idsa/autogen/resource/f659522f-b668-4351-a1b1-50f872a3d999", "@type": "ids:Resource", "ids:author": [ { "@id": "https://w3id.org/idsa/autogen/person/8b51a76a-7316-4285-b96a-722bf7a944f8", "@type": "ids:Person", "ids:emailAddress": [ "info@example.org" ], "ids:familyName": "Mustermensch", "ids:givenName": "Max", "ids:homepage": "http://example.org", "ids:phoneNumber": [ "012345678891" ] } ], "ids:contentStandard": { "@id": "http://contentstandard.org" }, "ids:contentType": { "@id": "idsc:INTERFACE_DEFINITION" }, "ids:contractOffer": { "@id": "https://w3id.org/idsa/autogen/contractOffer/b6d78c1f-bccb-4615-9a67-bf0ab729428a", "@type": "ids:ContractOffer", "ids:permission": [ { "@id": "https://w3id.org/idsa/autogen/permission/6949b9d2-11b7-40f0-b935-d5964a0f7a3e", "@type": "ids:Permission", "ids:action": [ { "@id": "https://w3id.org/idsa/code/USE", "@type": "ids:Action" } ], "ids:assignee": [ { "@id": "http://example.org/assignee" } ], "ids:constraint": [ { "@id": "https://w3id.org/idsa/autogen/constraint/4be87aa3-e203-4ac8-b4d6-ea006814d494", "@type": "ids:Constraint", "ids:leftOperand": { "@id": "https://w3id.org/idsa/code/SECURITY_LEVEL" }, "ids:operator": { "@id": "https://w3id.org/idsa/code/EQ" }, "ids:rightOperandReference": { "@id": "https://w3id.org/idsa/code/TRUST_SECURITY_PROFILE" }, "ids:pipEndpoint": { "@type": "ids:PIP", "ids:interfaceDescription": {"@id": "https://ids.org/PIP/askIfPurpose" }, "ids:endpointURI": {"@id": "https://ids.org/EXAMPLE/realEndpointURI" } } } ] } ] }, "ids:created": { "@type": "http://www.w3.org/2001/XMLSchema#dateTimeStamp", "@value": "2003-01-10T00:00:00Z" }, "ids:customLicense": { "@id": "http://customlicense.org" }, "ids:dataCreator": { "@type": "http://www.w3.org/2001/XMLSchema#string", "@value": "Data creator/Owner" }, "ids:description": [ { "@type": "http://www.w3.org/2001/XMLSchema#string", "@value": "Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quos blanditiis tenetur\n unde suscipit, quam beatae rerum inventore consectetur, neque doloribus, cupiditate numquam\n dignissimos laborum fugiat deleniti? Eum quasi quidem quibusdam." } ], "ids:domainVocabulary": { "@id": "https://w3id.org/idsa/autogen/vocabularyData/2d98d466-52ce-48b8-a29e-936f7f4efa9e", "@type": "ids:VocabularyData", "ids:vocabulary": { "@id": "http://vocabulary.org" } }, "ids:keyword": [ { "@type": "http://www.w3.org/2001/XMLSchema#string", "@value": "energy" }, { "@type": "http://www.w3.org/2001/XMLSchema#string", "@value": "energy" }, { "@type": "http://www.w3.org/2001/XMLSchema#string", "@value": "conservation" }, { "@type": "http://www.w3.org/2001/XMLSchema#string", "@value": "ad" }, { "@type": "http://www.w3.org/2001/XMLSchema#string", "@value": "open" } ], "ids:language": [ { "@id": "idsc:EN" }, { "@id": "idsc:ES" } ], "ids:mainTitle": [ { "@type": "http://www.w3.org/2001/XMLSchema#string", "@value": "MOBIDS TEST TAGS" } ], "ids:modified": { "@type": "http://www.w3.org/2001/XMLSchema#dateTimeStamp", "@value": "2020-01-29T00:00:00+00:00" }, "ids:paymentModality": { "@id": "idsc:FREE" }, "ids:rawData": false, "ids:representation": [ { "@id": "https://w3id.org/idsa/autogen/textRepresentation/8a23edb5-be86-4722-afd4-fd2276c9bc18", "@type": "ids:TextRepresentation", "ids:created": { "@type": "http://www.w3.org/2001/XMLSchema#dateTimeStamp", "@value": "2013-11-14T00:00:00+00:00" }, "ids:domainVocabulary": { "@id": "https://w3id.org/idsa/autogen/vocabularyData/bbe50ee4-5033-4c13-bf43-35c733a7b781", "@type": "ids:VocabularyData", "ids:vocabulary": { "@id": "http://textVovabulary.com" } }, "ids:instance": [ { "@id": "https://w3id.org/idsa/autogen/artifact/aa1cf3d9-8aa1-42ef-9f85-08ce0f48005b", "@type": "ids:Artifact", "ids:byteSize": 2678, "ids:creationDate": { "@type": "http://www.w3.org/2001/XMLSchema#dateTimeStamp", "@value": "2020-06-23T17:27:18.599+02:00" }, "ids:fileName": "data.pdf" } ], "ids:mediaType": { "@id": "idsc:APPLICATION_PDF", "@type": "ids:IANAMediaType" }, "ids:modified": { "@type": "http://www.w3.org/2001/XMLSchema#dateTimeStamp", "@value": "2020-01-15T00:00:00+00:00" }, "ids:representationStandard": { "@id": "http://textRepresentation.org" } } ], "ids:researchDataType": { "@id": "idsc:OBSERVATIONAL_DATA" }, "ids:sample": [ { "@id": "https://w3id.org/idsa/autogen/resource/1cfde6ad-c042-4485-ba71-976945c34b78", "@type": "ids:Resource" } ], "ids:standardLicense": { "@id": "idsc:OTHERFREEWARELICENSE" }, "ids:title": [ { "@type": "http://www.w3.org/2001/XMLSchema#string", "@value": "DRM RELEASE MOBIDS TEST TAGS" } ], "ids:version": "version 3.0.0", "mobids:DataCategory": [ "Baustelleninformationen" ], "mobids:DataCategoryDetail": [ "Kurzzeit-Baustellen" ], "mobids:dataModel": [ "DATEX II" ], "mobids:geoReferenceMethod": [ "sonstige" ], "mobids:mdmBrokering": { "@type": "http://www.w3.org/2001/XMLSchema#boolean", "@value": "true" }, "mobids:nutsLocation": [ "DE7" ], "mobids:transportMode": [ "Pkw", "Lkw" ] } ] }, "ids:securityProfile": { "@id": "https://w3id.org/idsa/code/BASE_SECURITY_PROFILE", "@type": "ids:SecurityProfile" }, "ids:title": [ { "@type": "http://www.w3.org/2001/XMLSchema#string", "@value": "DRM TEST Mobids TAGS" } ] }

NehaThawani44 commented 2 years ago

This bug has been fixed please try to pull the updated image of the broker and try this message again.

memaldi commented 2 years ago

I have pulled the latest image of the broker from registry.gitlab.cc-asp.fraunhofer.de/eis-ids/broker-open/core:latest and modified the pip:Endpoint property to

"ids:pipEndpoint": {
    "@type": "ids:PIP",
    "ids:interfaceDescription": {
        "@id": "https://ids.org/PIP/askIfPurpose"
    },
    "ids:endpointURI": {
        "@id": "https://ids.org/EXAMPLE/realEndpointURI"
    }
}

but an slightly different error is raised:

{
  "details": {
    "reason": {
      "properties": null,
      "@id": "https://w3id.org/idsa/code/MALFORMED_MESSAGE"
    },
    "payload": "The message could not be parsed due to an error in the message. Note that, due to being unable to parse this message, the ID of the correlating message is incorrect. Error: The following mandatory field(s) of Constraint are not filled or invalid: ids:pipEndpoint. Note that the value of \"@id\" fields MUST be a valid URI (e.g. emails preceded by \"mailto:\"). Mandatory fields are: leftOperand, operator, pipEndpoint",
    "type": "de.fraunhofer.iais.eis.RejectionMessageImpl"
  },
  "message": "Received unexpected response message."
}
NehaThawani44 commented 2 years ago

Its not only pipEndpoint that is modified but also others, so please follow the message format i sent to you .

memaldi commented 2 years ago

I have tried with a simpler rule (PROVIDE_ACCESS) and it works fine. I suppose the problem is at the connector. Thank you for your support.

NehaThawani44 commented 2 years ago

@memaldi Would be great if you could share with us the request message you sent.