Details
- 
                Type: Improvement Request Improvement Request
- 
                Status: Resolved Resolved
- 
                    Priority: Major Major
- 
                    Resolution: Fixed
- 
                    Affects Version/s: 1.0.1-BC
- 
                    Fix Version/s: 1.1.0-BC
- 
                    Component/s: Provider mode
- 
                    Security Level: Public
- 
                                                - Environment:
- -
 
Activity
| Field | Original Value | New Value | 
|---|---|---|
| Fix Version/s | 1.1.0 [ 10696 ] | |
| Priority | Major [ 3 ] | |
| Description | In the current version and previous, HTTP headers put in the HTTP request sent to the REST server are extracted from properties of the incoming JBI message. This has no sens, all technical information required to invoke a resource should be defined in SU. So, we propose to rework how HTTP headers are configured. They should be configured at SU level as: {code:xml} <jbi:jbi ...> <jbi:services ...> <jbi:provides ...> ... <rest:mapping> ... <rest:operation name="ged:consulter"> ... <rest:headers> <rest:header name="Accept"><rest:constant>application/xml</rest:constant><rest:header> <!-- Following value extractor will be implemented later <rest:header name="X-lol"><rest:xpath>/metadatas/metadata</rest:xpath><rest:header> <rest:header name="dummy"><rest:jbi-header>machin</rest:jbi-header><header> --> <rest:headers> ... </rest:operation> ... </rest:mapping> </jbi:consumes> </jbi:services> </jbi:jbi> {code} Only the value extractor '<constant />' will be implemented in a first time. | In the current version and previous, HTTP headers put in the HTTP request sent to the REST server are extracted from properties of the incoming JBI message. This has no sens, all technical information required to invoke a resource should be defined in SU. So, we propose to rework how HTTP headers are configured. They should be configured at SU level as: {code:xml} <jbi:jbi ...> <jbi:services ...> <jbi:provides ...> ... <rest:mapping> ... <rest:operation name="ged:consulter"> ... <rest:headers> <rest:header name="Accept"><rest:constant>application/xml</rest:constant><rest:header> <!-- Following value extractor will be implemented later if such use-case exists --> <!-- <rest:header name="X-lol"><rest:xpath>/metadatas/metadata</rest:xpath><rest:header> --> <!-- <rest:header name="dummy"><rest:jbi-header>machin</rest:jbi-header><header> --> <rest:headers> ... </rest:operation> ... </rest:mapping> </jbi:consumes> </jbi:services> </jbi:jbi> {code} Only the value extractor '<constant />' will be implemented in a first time. | 
| Description | In the current version and previous, HTTP headers put in the HTTP request sent to the REST server are extracted from properties of the incoming JBI message. This has no sens, all technical information required to invoke a resource should be defined in SU. So, we propose to rework how HTTP headers are configured. They should be configured at SU level as: {code:xml} <jbi:jbi ...> <jbi:services ...> <jbi:provides ...> ... <rest:mapping> ... <rest:operation name="ged:consulter"> ... <rest:headers> <rest:header name="Accept"><rest:constant>application/xml</rest:constant><rest:header> <!-- Following value extractor will be implemented later if such use-case exists --> <!-- <rest:header name="X-lol"><rest:xpath>/metadatas/metadata</rest:xpath><rest:header> --> <!-- <rest:header name="dummy"><rest:jbi-header>machin</rest:jbi-header><header> --> <rest:headers> ... </rest:operation> ... </rest:mapping> </jbi:consumes> </jbi:services> </jbi:jbi> {code} Only the value extractor '<constant />' will be implemented in a first time. | In the current version and previous, HTTP headers put in the HTTP request sent to the REST server are extracted from properties of the incoming JBI message. This has no sens, all technical information required to invoke a resource should be defined in SU. So, we propose to rework how HTTP headers are configured. They should be configured at SU level as: {code:xml} <jbi:jbi ...> <jbi:services ...> <jbi:provides ...> ... <rest:mapping> ... <rest:operation name="ged:consulter"> ... <rest:headers> <rest:header name="Accept"><rest:constant>application/xml</rest:constant><rest:header> <rest:header name="X-lol"><rest:xpath>/metadatas/metadata</rest:xpath><rest:header> <!-- Following value extractor will be implemented later if such use-case exists --> <!-- <rest:header name="dummy"><rest:jbi-header>machin</rest:jbi-header><header> --> <rest:headers> ... </rest:operation> ... </rest:mapping> </jbi:consumes> </jbi:services> </jbi:jbi> {code} Two different value extractors will be implemented in a first time: * {{<rest:constant />}}: The given value is the value to use, as a constant, * {{<rest:xpath />}}: The value is extracted using the given XPath expression applied on the incoming XML payload. | 
| Status | New [ 10000 ] | Open [ 10002 ] | 
| Status | Open [ 10002 ] | In Progress [ 10003 ] | 
| Status | In Progress [ 10003 ] | Resolved [ 10004 ] | 
| Resolution | Fixed [ 1 ] | 
| Description | In the current version and previous, HTTP headers put in the HTTP request sent to the REST server are extracted from properties of the incoming JBI message. This has no sens, all technical information required to invoke a resource should be defined in SU. So, we propose to rework how HTTP headers are configured. They should be configured at SU level as: {code:xml} <jbi:jbi ...> <jbi:services ...> <jbi:provides ...> ... <rest:mapping> ... <rest:operation name="ged:consulter"> ... <rest:headers> <rest:header name="Accept"><rest:constant>application/xml</rest:constant><rest:header> <rest:header name="X-lol"><rest:xpath>/metadatas/metadata</rest:xpath><rest:header> <!-- Following value extractor will be implemented later if such use-case exists --> <!-- <rest:header name="dummy"><rest:jbi-header>machin</rest:jbi-header><header> --> <rest:headers> ... </rest:operation> ... </rest:mapping> </jbi:consumes> </jbi:services> </jbi:jbi> {code} Two different value extractors will be implemented in a first time: * {{<rest:constant />}}: The given value is the value to use, as a constant, * {{<rest:xpath />}}: The value is extracted using the given XPath expression applied on the incoming XML payload. | In the current version and previous, HTTP headers put in the HTTP request sent to the REST server are extracted from properties of the incoming JBI message. This has no sens, all technical information required to invoke a resource should be defined in SU. So, we propose to rework how HTTP headers are configured. They should be configured at SU level as: {code:xml} <jbi:jbi ...> <jbi:services ...> <jbi:provides ...> ... <rest:mapping> ... <rest:operation name="ged:consulter"> ... <rest:headers> <rest:header name="Accept"> <rest:constant>application/xml</rest:constant> <rest:header> <rest:header name="X-lol"> <rest:xpath>/metadatas/metadata</rest:xpath> <rest:header> <!-- Following value extractor will be implemented later if such use-case exists --> <!-- <rest:header name="dummy"> <rest:jbi-header>machin</rest:jbi-header> <header> --> <rest:headers> ... </rest:operation> ... </rest:mapping> </jbi:consumes> </jbi:services> </jbi:jbi> {code} Two different value extractors will be implemented in a first time: * {{<rest:constant />}}: The given value is the value to use, as a constant, * {{<rest:xpath />}}: The value is extracted using the given XPath expression applied on the incoming XML payload. | 
