Description
When using the response type "cross-redirect", OFBiz is not acting as expected.
The description of the types "url" and "cross-redirect" is stated as follows in the file site-conf.xsd:
<xs:enumeration value="url"> <xs:annotation> <xs:documentation> Any URL, relative or absolute. Redirected parameters are not used, you can put them in the url. </xs:documentation> </xs:annotation> </xs:enumeration> <xs:enumeration value="cross-redirect"> <xs:annotation> <xs:documentation> Works like URL but you can also pass redirected parameters. </xs:documentation> </xs:annotation> </xs:enumeration>
The way, this is implemented in RequestHandler.java works slightly different:
For the type "url", this is true, but for "cross-redirect", before putting the params in the link, it is checked, if the link begins with an "/".
If not, it is added as the first char.
This results in a link given like this: https://test.com
will turn into this: /https://test.com, which will then be treated as an OFBiz internal link, like /catalog, and instead of be called externally, OFBiz tries to call it as an OFBiz-URL.
This behavior is not correct and should therefore be corrected.