Indeks string di luar jangkauan: -1 kesalahan dengan CFFeed

Saya memiliki kode berikut dalam file .cfm dasar. Saya ingin menarik RSS dari umpan NYTimes Business.

    <cfset feedurl = "http://rss.nytimes.com/services/xml/rss/nyt/Business.xml">
    <cffeed source="#feedurl#" properties="feedmeta" query="feeditems" />
    <cfdump var="#feeditems#" label="feedItems" />

Ketika saya menjalankan ini saya mendapatkan kesalahan berikut -

    java.lang.StringIndexOutOfBoundsException - in D:\nytimesrss.cfm : line 2
    String index out of range: -1

Namun kode yang sama berfungsi baik dengan feed Washington. Apakah ini masalah di akhir NYTimes atau adakah yang bisa saya lakukan untuk memperbaikinya?


person Jen    schedule 06.05.2013    source sumber
comment
Saya menyalin-menempelkan blok kode pertama Anda dan itu berfungsi dengan baik untuk saya di CF9. Mungkin itu adalah masalah yang terjadi sesekali?   -  person Sean Walsh    schedule 06.05.2013
comment
(Sunting) Bekerja untuk saya juga di bawah CF10. Periksa log {cf_root}\logs\feed.log. Mungkin akses diblokir atau dibatasi. Mungkin memeriksa persyaratan situs.   -  person Leigh    schedule 06.05.2013
comment
Wow terima kasih Sean dan Leigh! Saya masih mendapatkan kesalahan tetapi itu merupakan temuan yang menarik.   -  person Jen    schedule 06.05.2013
comment
Pernahkah kode tersebut berhasil untuk Anda? Seperti yang dikatakan @Leigh, mungkin saja Anda diblokir atau dibatasi jika Anda telah menarik data feed sepanjang pagi.   -  person Sean Walsh    schedule 06.05.2013
comment
Kami menjalankan ColdFusion 8 - Saya kira itu mungkin masalahnya.   -  person Jen    schedule 06.05.2013
comment
Sean - ya, kode ini telah berfungsi dengan baik bagi kami sejak lama dan kami menggunakan kode tersebut di berbagai feed. Ini hanya beberapa feed NYTimes acak yang menghasilkan kesalahan, tetapi feed NYTimes lainnya baik-baik saja. :)   -  person Jen    schedule 06.05.2013
comment
Periksa lognya. Mereka mungkin memberi Anda lebih banyak wawasan tentang apakah ini merupakan masalah koneksi terputus-putus atau tidak. (Saya tidak ingat apakah feed.log ada di CF8).   -  person Leigh    schedule 06.05.2013
comment
Saya baru saja memeriksa - tidak ada di CF8. Gan!   -  person Jen    schedule 06.05.2013
comment
Periksa juga yang lainnya (stempel waktu terbaru). Mungkin kesalahan feed dicatat di tempat lain. Selain itu, apakah umpan acak tersebut gagal secara konsisten - atau hanya sesekali.   -  person Leigh    schedule 06.05.2013
comment
Saya tidak tahu bagaimana memahami file log tetapi inilah yang muncul - Indeks string di luar jangkauan: -1 Urutan spesifik file yang disertakan atau diproses adalah: D:\jenelle\nytimesrss.cfm, baris: 2   -  person Jen    schedule 06.05.2013
comment
(Sunting) Di file log yang mana? Ada beberapa dan beberapa berisi lebih detail daripada yang lain. (Meskipun tidak ada salahnya untuk memeriksa log, saya tidak tahu seberapa detail log CF8 tentang kesalahan feed. Anda mungkin perlu menggunakan proxy)   -  person Leigh    schedule 06.05.2013
comment
Bisnis ini selalu gagal. Saya sedang memeriksa dan memeriksanya karena menurut saya masalah lainnya berkaitan dengan iklan di feed mereka dan kode yang kami gunakan pada file desain untuk memblokirnya. Jadi saat ini tampaknya masalah bisnislah yang menjadi masalahnya. Umpan ditampilkan dengan baik dengan sendirinya di (rss.nytimes.com/services /xml/rss/nyt/Business.xml) yang terus membawa saya kembali ke masalah kami.   -  person Jen    schedule 06.05.2013
comment
Jika gagal secara konsisten, hal ini menunjukkan adanya pembatasan atau masalah koneksi/firewall. Anda mungkin perlu menggunakan proxy untuk memeriksa panggilan http yang sebenarnya. Mungkin juga mencoba memanggil url feed dengan cfhttp dan membuang responsnya.   -  person Leigh    schedule 06.05.2013
comment
AHA! Mungkinkah ini menjadi masalah? Peringatan: Alokasi memori JVM pulih hingga di bawah 450 MB - yang berasal dari montior.log. Kesalahan lainnya berasal dari log aplikasi.   -  person Jen    schedule 06.05.2013
comment
BTW - terima kasih atas semua bantuan Anda Leigh. Tanggapan Anda sangat membantu saya memahami apa yang sedang terjadi! :)   -  person Jen    schedule 06.05.2013
comment
Saya menggunakan <cfhttp url = "http://rss.nytimes.com/services/xml/rss/nyt/Business.xml" method="get" timeout="5"> <cfdump var="#cfhttp#"> dan semua data dibuang ke 'Konten File' tetapi detail kesalahannya adalah [empty string]   -  person Jen    schedule 06.05.2013
comment
Hm... Saya baru mencobanya dengan CF8 dan mendapatkan error yang sama di CF8. Biarkan saya melihat-lihat file log.   -  person Leigh    schedule 06.05.2013
comment
Ya - Saya menggunakan alamat feed itu di halaman kami sendiri dengan kode yang harus kami ubah tahun lalu karena iklan mereka dan ... BERHASIL! Jadi apa pun yang terjadi dengan feed ini ketika mencoba membuangnya adalah satu hal, tetapi feed tersebut berfungsi. TERIMA KASIH BANYAK ATAS BANTUAN ANDA! @Leigh - Anda adalah seorang bintang!   -  person Jen    schedule 06.05.2013
comment
dengan kode yang harus kita ubah tahun lalu Karena penasaran, apa kode sebenarnya? Jangan ragu untuk mempostingnya sebagai jawaban. Saya kira kode lama tidak menggunakan cffeed..? Karena dalam pengujian saya, feed diambil berhasil, tetapi ada sesuatu yang tidak disukai cffeed... (Senang Anda menemukan solusinya, btw :)   -  person Leigh    schedule 06.05.2013
comment
Jawabannya harus diposting sebagai jawaban, dan pertanyaan diperbarui dengan informasi yang relevan dari komentar ini. Serangkaian komentar yang panjang sulit diikuti orang.   -  person George Stocker    schedule 07.05.2013
comment
@Jen Semua ini harus ada dalam pertanyaan Anda (Anda dapat mengedit pertanyaan Anda menggunakan tautan 'edit' di bawah pertanyaan). Memasukkannya ke dalam komentar akan membuatnya lebih sulit untuk diikuti (dan komentar dapat dihapus kapan saja).   -  person George Stocker    schedule 07.05.2013
comment
Terima kasih atas tipnya @GeorgeStocker - mulai mengedit sekarang. :)   -  person Jen    schedule 07.05.2013
comment
Sepertinya Anda sekarang menggunakan kode berbeda untuk mengurai feed, dan kesalahan baru terkait dengan perubahan tersebut. JIKA demikian, saya akan membuka thread baru (daripada mencampuradukkan masalah) dan menutup thread ini. Jawaban atas pertanyaan awal tampaknya adalah tag cffeed CF8 tidak dapat mengurai feed tersebut. Namun masalah ini tampaknya telah teratasi di versi yang lebih baru yaitu CF9/10.   -  person Leigh    schedule 08.05.2013


Jawaban (1)


Konsensusnya adalah tag <cffeed> CF8 tidak dapat mengurai feed NYT. Namun masalah ini tampaknya telah teratasi di versi yang lebih baru yaitu CF9/10.

person Jen    schedule 08.05.2013
comment
Ini akan membantu orang lain mengetahui apa yang akhirnya Anda gunakan. Apakah Anda mengambil feed dengan cfhttp lalu menggunakan xmlParse(cfhttp.fileContent)? - person Leigh; 08.05.2013
comment
Saya telah membatalkan penghapusannya - saya hanya tidak ingin Anda membuang-buang waktu lagi. :( ... seperti yang kamu tahu, aku sudah melupakannya. :( - person Jen; 08.05.2013