iTunes reporting error; can't validate feed

I can’t seem to satisfy iTunes with my feed: http://www.loatoday.net/feed/mp3/

When I run it through feedvalidator.org and validator.w3.org/feed, both report the same result:

“This feed is valid, but interoperability with the widest range of feed readers could be improved by implementing the following recommendations.”

“line 1, column 38: Use of unknown namespace: http://podlove.org/simple-chapters [help]”

When I validate it at podcastsconnect.apple.com, it reports a green status with “Prepared for Submission”.

When I submit it at podcastsconnect.apple.com, it reports, " Podcast successfully submitted for review. You successfully submitted your podcast for review. Apple will send you an email once the review process is complete."

But then minutes later I get the dreaded email from iTunes store, saying: “An error was encountered while trying to add your feed, [ http://www.loatoday.net/feed/mp3/ ].” with no further details offered.

Can someone help?

Hi Walt!

The unknown namespace warning is not prohibitive. It rather seems to be an iTunes problem, and similar problems are being reported in the German Podlove forum.

Fingers crossed that it works fine in a few days :slight_smile:

The unknown namespace warning is now gone, although I don’t know why. I haven’t changed anything.

Sadly, my requests to iTunes are still getting rejected for the same unspecified error.

When I run it through validator.w3.org, I’m getting a new result. It’s now saying:

  No DOCTYPE found! Checking XML syntax only.

  The DOCTYPE Declaration was not recognized or is missing. This
  probably means that the Formal Public Identifier contains a spelling
  error, or that the Declaration is not using correct syntax, or that 
  your XML document is not using a DOCTYPE Declaration.

  Validation of the document has been skipped, and a simple check of the well-formedness
  of the XML syntax has been performed instead.

According to http://castfeedvalidator.com/?url=http://www.loatoday.net/feed/mp3/ your feed is valid.

Your image seems to be 1401x1401 instead of 1400x1400, not sure if this enough to get you rejected though.

From our point of view, everything is fine. If the problem persists, contact iTunes at podcastsupport@apple.com.

I’ve tried asking podcastsupport@apple.com, but they have ignored two emails from me over the past 8 days. I’ve been told that means that there’s something wrong at my end, because the only time they’ll reply is if they find a problem at their end.

While the feed validates properly everywhere I test it, it does give a warning about xmlns, as follows:

“line 1, column 38: Use of unknown namespace: http://podlove.org/simple-chapters

My inclination is to try to test removing xmlns:psc=“http://podlove.org/simple-chapters” to see if it helps with validation, but I can’t find a way to accomplish this. How can I remove it as a test?

The name space is not a problem. You can add as many name spaces to an XML document as you like. That’s the “X” in “XML” (“extensible”).

I must admit I have no idea why the iTunes directory rejects the feed. iTunes the app is happy with the feed as is the Castfeedvalidator and like probably every podcast app on the planet.

Don’t trust the old Feed Validator. We have been telling the team not to put up name spaces as errors (they are not an error), but they are totally unwilling to change anything. It would be better to delete the web site as it is not helping.

Well, that’s all very well and good, but I’m still stuck.

You will be gratified to learn that as a test I tried commenting the appropriate line out of the plugin’s /lib/feeds/rss.php file to eliminate that particular xmlns, then validated it. It validated without warnings. So I resubmitted to iTunes. As you suggested, I got the same error email in reply. So it’s definitely not the xml namespace.

I just wanted to make the case that I don’t think this is true:

From our point of view there is no obvious problem with the feed. Whatever the holdup is with iTunes, it would be interesting to hear from them what they think the problem is. Unless there is any kind of response or error message I don’t really know where to begin.

You could try looking through your web server logs if accessing the feed from Apple actually suceeded or if your server somehow runs into problems. The User Agent of the iTunes Podcast Directory is iTMS

I checked the server logs at your suggestion, but everything looks good. The access log shows 200 or 206 codes on everything from iTMS with today’s date.

17.154.84.40 - - [25/Oct/2016:11:18:35 -0400] “HEAD /feed/mp3/ HTTP/1.1” 200 - “-” "iTMS"
17.154.84.39 - - [25/Oct/2016:11:18:36 -0400] “HEAD /feed/mp3/ HTTP/1.1” 200 - “-” "iTMS"
17.154.84.39 - - [25/Oct/2016:11:18:36 -0400] “GET /feed/mp3/ HTTP/1.1” 200 54542 “-” "iTMS"
17.154.84.40 - - [25/Oct/2016:11:18:37 -0400] “HEAD /mp3/2016/loa-today-10-20-2016-new-theme.mp3 HTTP/1.1” 200 - “-” "iTMS"
17.154.84.39 - - [25/Oct/2016:11:18:37 -0400] “GET /mp3/2016/loa-today-10-20-2016-new-theme.mp3 HTTP/1.1” 206 2 “-” "iTMS"
17.154.84.39 - - [25/Oct/2016:11:18:37 -0400] “GET /wp-content/cache/podlove/18/e9a9d79a2d7afd2901dd134d830492/loa-today_original.jpg HTTP/1.1” 200 178149 “-” iTMS"
17.154.84.39 - - [25/Oct/2016:11:18:39 -0400] “HEAD /mp3/2016/loa-today-10-20-2016-new-theme.mp3 HTTP/1.1” 200 - “-” "iTMS"
17.154.84.39 - - [25/Oct/2016:11:18:39 -0400] “GET /mp3/2016/loa-today-10-20-2016-new-theme.mp3 HTTP/1.1” 206 2 “-” "iTMS"
17.154.84.39 - - [25/Oct/2016:11:18:43 -0400] “HEAD /feed/mp3/ HTTP/1.1” 200 - “-” "iTMS"
17.154.84.40 - - [25/Oct/2016:11:18:43 -0400] “HEAD /feed/mp3/ HTTP/1.1” 200 - “-” "iTMS"
17.154.84.39 - - [25/Oct/2016:11:18:44 -0400] “GET /feed/mp3/ HTTP/1.1” 200 54542 “-” "iTMS"
17.154.84.40 - - [25/Oct/2016:11:18:44 -0400] “HEAD /mp3/2016/loa-today-10-20-2016-new-theme.mp3 HTTP/1.1” 200 - “-” "iTMS"
17.154.84.39 - - [25/Oct/2016:11:18:44 -0400] “GET /mp3/2016/loa-today-10-20-2016-new-theme.mp3 HTTP/1.1” 206 2 “-” "iTMS"
17.154.84.39 - - [25/Oct/2016:11:18:44 -0400] “GET /wp-content/cache/podlove/18/e9a9d79a2d7afd2901dd134d830492/loa-today_original.jpg HTTP/1.1” 200 178149 “-” iTMS"
17.154.84.40 - - [25/Oct/2016:11:18:46 -0400] “HEAD /mp3/2016/loa-today-10-20-2016-new-theme.mp3 HTTP/1.1” 200 - “-” "iTMS"
17.154.84.39 - - [25/Oct/2016:11:18:46 -0400] “GET /mp3/2016/loa-today-10-20-2016-new-theme.mp3 HTTP/1.1” 206 2 “-” "iTMS"
17.154.84.40 - - [25/Oct/2016:11:19:26 -0400] “HEAD /feed/mp3/ HTTP/1.1” 200 - “-” "iTMS"
17.154.84.40 - - [25/Oct/2016:11:19:27 -0400] “HEAD /feed/mp3/ HTTP/1.1” 200 - “-” "iTMS"
17.154.84.39 - - [25/Oct/2016:11:19:27 -0400] “GET /feed/mp3/ HTTP/1.1” 200 54542 “-” "iTMS"
17.154.84.40 - - [25/Oct/2016:11:31:06 -0400] “HEAD /feed/mp3/ HTTP/1.1” 200 - “-” "iTMS"
17.154.84.39 - - [25/Oct/2016:11:31:07 -0400] “HEAD /feed/mp3/ HTTP/1.1” 200 - “-” "iTMS"
17.154.84.39 - - [25/Oct/2016:11:31:07 -0400] “GET /feed/mp3/ HTTP/1.1” 200 54542 “-” "iTMS"
17.154.84.40 - - [25/Oct/2016:11:31:08 -0400] “HEAD /mp3/2016/loa-today-10-20-2016-new-theme.mp3 HTTP/1.1” 200 - “-” "iTMS"
17.154.84.40 - - [25/Oct/2016:11:31:08 -0400] “GET /mp3/2016/loa-today-10-20-2016-new-theme.mp3 HTTP/1.1” 206 2 “-” "iTMS"
17.154.84.40 - - [25/Oct/2016:11:31:08 -0400] “GET /wp-content/cache/podlove/18/e9a9d79a2d7afd2901dd134d830492/loa-today_original.jpg HTTP/1.1” 200 178149 “-” iTMS"
17.154.84.39 - - [25/Oct/2016:11:31:10 -0400] “HEAD /mp3/2016/loa-today-10-20-2016-new-theme.mp3 HTTP/1.1” 200 - “-” "iTMS"
17.154.84.40 - - [25/Oct/2016:11:31:10 -0400] “GET /mp3/2016/loa-today-10-20-2016-new-theme.mp3 HTTP/1.1” 206 2 “-” "iTMS"
17.154.84.40 - - [25/Oct/2016:14:41:57 -0400] “HEAD /feed/mp3/ HTTP/1.1” 200 - “-” "iTMS"
17.154.84.40 - - [25/Oct/2016:14:41:57 -0400] “HEAD /feed/mp3/ HTTP/1.1” 200 - “-” "iTMS"
17.154.84.39 - - [25/Oct/2016:14:41:58 -0400] “GET /feed/mp3/ HTTP/1.1” 200 54495 “-” "iTMS"
17.154.84.39 - - [25/Oct/2016:14:41:58 -0400] “HEAD /mp3/2016/loa-today-10-20-2016-new-theme.mp3 HTTP/1.1” 200 - “-” "iTMS"
17.154.84.40 - - [25/Oct/2016:14:41:59 -0400] “GET /mp3/2016/loa-today-10-20-2016-new-theme.mp3 HTTP/1.1” 206 2 “-” "iTMS"
17.154.84.40 - - [25/Oct/2016:14:41:59 -0400] “GET /wp-content/cache/podlove/18/e9a9d79a2d7afd2901dd134d830492/loa-today_original.jpg HTTP/1.1” 200 178149 “-” iTMS"
17.154.84.40 - - [25/Oct/2016:14:42:00 -0400] “HEAD /mp3/2016/loa-today-10-20-2016-new-theme.mp3 HTTP/1.1” 200 - “-” "iTMS"
17.154.84.39 - - [25/Oct/2016:14:42:00 -0400] “GET /mp3/2016/loa-today-10-20-2016-new-theme.mp3 HTTP/1.1” 206 2 “-” "iTMS"
17.154.84.39 - - [25/Oct/2016:14:42:03 -0400] “HEAD /feed/mp3/ HTTP/1.1” 200 - “-” "iTMS"
17.154.84.40 - - [25/Oct/2016:14:42:04 -0400] “HEAD /feed/mp3/ HTTP/1.1” 200 - “-” "iTMS"
17.154.84.40 - - [25/Oct/2016:14:42:04 -0400] “GET /feed/mp3/ HTTP/1.1” 200 54495 “-” "iTMS"
17.154.84.39 - - [25/Oct/2016:14:42:05 -0400] “HEAD /mp3/2016/loa-today-10-20-2016-new-theme.mp3 HTTP/1.1” 200 - “-” "iTMS"
17.154.84.40 - - [25/Oct/2016:14:42:05 -0400] “GET /mp3/2016/loa-today-10-20-2016-new-theme.mp3 HTTP/1.1” 206 2 “-” "iTMS"
17.154.84.40 - - [25/Oct/2016:14:42:05 -0400] “GET /wp-content/cache/podlove/18/e9a9d79a2d7afd2901dd134d830492/loa-today_original.jpg HTTP/1.1” 200 178149 “-” iTMS"
17.154.84.40 - - [25/Oct/2016:14:42:06 -0400] “HEAD /mp3/2016/loa-today-10-20-2016-new-theme.mp3 HTTP/1.1” 200 - “-” "iTMS"
17.154.84.40 - - [25/Oct/2016:14:42:07 -0400] “GET /mp3/2016/loa-today-10-20-2016-new-theme.mp3 HTTP/1.1” 206 2 “-” "iTMS"
17.154.84.40 - - [25/Oct/2016:14:42:16 -0400] “HEAD /feed/mp3/ HTTP/1.1” 200 - “-” "iTMS"
17.154.84.40 - - [25/Oct/2016:14:42:16 -0400] “HEAD /feed/mp3/ HTTP/1.1” 200 - “-” "iTMS"
17.154.84.40 - - [25/Oct/2016:14:42:17 -0400] “GET /feed/mp3/ HTTP/1.1” 200 54495 “-” “iTMS”

I think I may have found the answer. Changing the feed url from:
http://www.loatoday.net/feed/mp3/
to:
https://www.loatoday.net/feed/mp3/
seems to have made the difference.

I installed an SSL cert, resubmitted, and the email that arrived said, “Your podcast feed, [ https://www.loatoday.net/feed/mp3/ ] was successfully added and is now under review.”

Is it possible that iTunes now requires feed urls to be https?

This morning I found this interesting note on Apple’s “Podcast best practices” page at https://help.apple.com/itc/podcasts_connect/#/itc2b3780e76

“Pick a reliable podcast host and be sure to host podcast episodes, artwork, and XML on an HTTPS-authenticated server. Podcast providers are reliant on the up-time, security, and speed of the podcast host distributing their RSS feed, podcast artwork, and episode files. For more information, see Podcast Partner Search.”

Looks like iTunes now wants https instead of http. I’ve heard that they used to refuse https feeds, so apparently they’ve changed their “itune”.

EDIT: 4 hours later

Just got word that our podcast was accepted into iTunes. Woohoo!

Congrats :slight_smile:

iTunes have recommended https for a while now. There are still many http-podcasts in the store but your experience suggests that they may only accept https for new submissions, which would be … interesting, since they are still only compatible to a selected list of certificate providers.