Works through the browser but I'm unable to get kml feature reader or http Caller to work successfully as a file. My resultant file is 1kb via the http caller but the browser returns true file size.
First a HTTPCaller, I just pasted your entire url in there. It'll save the response in the attribute _response_body. Then an AttributeFileWriter to write that to a .kmz file, make sure to set the encoding to fme_binary.
Thanks @redgeographics that works for that sample url. Unfortunately, only returning a 1kb KMZ for our web service. Same parameters but the layer https://sampleserver6.arcgisonline.com/arcgis/rest/services/Census/MapServer/3 being replaced with our own.
Thanks @redgeographics that works for that sample url. Unfortunately, only returning a 1kb KMZ for our web service. Same parameters but the layer https://sampleserver6.arcgisonline.com/arcgis/rest/services/Census/MapServer/3 being replaced with our own.
Could you check inside that KMZ? (rename it to .zip and then simply unzip it) I wonder if there might be a clue in there.
The response body is:
<!DOCTYPE html>
<html>
<head>
<script src="login/config/dojo.js"></script>
<script src="jsapi/dojo/dojo.js"></script>
<script>
require(q"login", "dojo/domReady!"], function(login) {
login.run();
});
</script>
</head>
<body>
</body>
</html>
From https://developers.arcgis.com/rest/services-reference/kml-output-and-operations.htm
"KML options are not available when services are secured using token based authentication. "
The response body is:
<!DOCTYPE html>
<html>
<head>
<script src="login/config/dojo.js"></script>
<script src="jsapi/dojo/dojo.js"></script>
<script>
require(q"login", "dojo/domReady!"], function(login) {
login.run();
});
</script>
</head>
<body>
</body>
</html>
From https://developers.arcgis.com/rest/services-reference/kml-output-and-operations.htm
"KML options are not available when services are secured using token based authentication. "
Aha! It looks like it's an authentication issue. If you are using token based authentication it looks like you might be out of luck, if you use another method you'll have to set that up in the HTTPCaller.