nordic-institute/X-Road

Required field 'protocolVersion' is missing

Konservin opened this issue · 6 comments

protocolVersion is set in headers, but response error is that it is missing. What might cause this?
image

Hey @Konservin!

Unfortunately I am not familiar with the output on the screenshot. Could you please clarify what framework you are using and if it would be possible to get the actual SOAP message that is generated based on the displayed input?

test_req.xml.txt

Thank You for looking into it.
Platform is Symfony 4.4, generated XML is attached with replaced XXXXs.

Hi @Konservin! Does the response message returned by your service contain all the same headers that the request message has? The error message indicates that the response message doesn't have the protocolVersion header. The service is responsible for adding the required headers to the response message - the Security Server doesn't do it automatically. Here's an example of a request / response message pair.

Hi!
No, service returns an error message that says "Required field 'protocolVersion' is missing"

Thanks for the clarification! The request that you shared earlier looks good to me and it includes the protocolVersion header field correctly. Unfortunately, I'm not familiar with the framework you're using to implement the service and therefore, it's difficult to say what could cause the issue.

This error occurs because there are some incorrect namespaces in the request.

The namespaces should be:

  • http://x-road.eu/xsd/xroad.xsd instead of https://x-road.eu/xsd/xroad.xsd
  • http://x-road.eu/xsd/identifiers instead of https://x-road.eu/xsd/identifiers

And the namespace for element detailandmed_v1 should be http://arireg.x-road.eu/producer/ instead of http://arireg.x-road.eu.