What happens if you create a new attribute, e.g. "author_email" with the value "a@a.com" and reference this attribute in the HTTPCaller?
What happens if you create a new attribute, e.g. "author_email" with the value "a@a.com" and reference this attribute in the HTTPCaller?
Hi David unfortunately the same error remains when I create a new attribute and reference this attribute in the HTTPCaller as you suggested.
Figured it out, I just used 'Specify Upload Body' option in the 'Upload Data' field in the HTTPCaller and wrote my own JSON in the upload body with the Content Type as JSON.
{
"id": "@Value(name)",
"author_email": "@Value(contactPoint.hasEmail)",
"maintainer_email": "@Value(contactPoint.hasEmail)"
}
I've just come across this issue too. we're upgrading from FME 2015, and it wasn't an issue in that version of the httpcaller (v0). Is there no way to escape that @symbol?! don't really relish having to build my own multipartform just for this - although I know this is probably the workaround.
I've just come across this issue too. we're upgrading from FME 2015, and it wasn't an issue in that version of the httpcaller (v0). Is there no way to escape that @symbol?! don't really relish having to build my own multipartform just for this - although I know this is probably the workaround.
You can try escaping special characters using the TextEncoder set to URL Encoding.
The issue is still current in FME2020.2. The solution offered by @david_r does not work, since it will reject the json values. Also %40 as an escape does not work, it will push %40 and it won't display the @-character.
I think the real problem is, that FME expects the @ character at that point to be a function, while it is not. Since there is not mention of any function, it does not understand which function should be called and crashes.
edit: I was able to solve it, using a PythonCaller, but I don't think that should be the way to go.
The issue is still current in FME2020.2. The solution offered by @david_r does not work, since it will reject the json values. Also %40 as an escape does not work, it will push %40 and it won't display the @-character.
I think the real problem is, that FME expects the @ character at that point to be a function, while it is not. Since there is not mention of any function, it does not understand which function should be called and crashes.
edit: I was able to solve it, using a PythonCaller, but I don't think that should be the way to go.
If you think it's a but, you should consider sending it to Safe support together with a minimal workspace that demonstrates the issue. Perhaps also link back to this thread.
The issue is still current in FME2020.2. The solution offered by @david_r does not work, since it will reject the json values. Also %40 as an escape does not work, it will push %40 and it won't display the @-character.
I think the real problem is, that FME expects the @ character at that point to be a function, while it is not. Since there is not mention of any function, it does not understand which function should be called and crashes.
edit: I was able to solve it, using a PythonCaller, but I don't think that should be the way to go.
Just submitted a case to support for a project that I'm working on that apparently requires this... I can't believe I haven't ran into it before.
Using a StringReplacer with @Value(_at)Value(_at) as Replacement Text for @ did the trick for me.