Probably your code puts a x00 into the bytes. x00 is illegal in unicode (but not java strings!).

Fuseki is logging what it receives. To print it needs to be a string, not bytes, so it creates a string .. and goes bang. All I can do is change the decoder setup to put a "illegal char" marker in the log. As I said, the exact error point is not available to Java in teh check-fail case.

URL-encoding is not related - this is an HTTP POST with the data in the HTTP body.

Try a tool that allows you to look at the on-the-wire action (e.g. wireshark). Capturing inside Jetty-Fuseki has had too many places where the bytes have been touched. Capturing in the client or wire is reliable.

Sorry - don't know Haskell network code.

    Andy

On 29/03/17 08:36, Andrew U Frank wrote:
thank you - i am aware of this, but still wonder where the encoding on
my end goes wrong. it would be very helpful if the fuseki server would
log the input it receives for errors in the 'insert data' case. it does
show my input (as it is received) if i url-encode it (which is an error
with message and produces a copy of what is received). it does not show
this in the case of incorrect utf8 characters but this would be very
helpful to under stand where in the stack the problem lies. i will
experiment more.

do you have a suggestion for a simple "web sink  to log"? could ntop be
used to capture the request and identify what is sent my end? any
suggestions on details how to?

than you a lot for your help!

andrew

Reply via email to