Ошибка синтаксического анализатора "Ошибка в XML-документе (0,0)" Salesforce Wsdl

Я столкнулся с этой проблемой очень давно, но не смог документировать ее для себя и потомков.

У меня есть 3 машины с одинаковым кодом. Я использую IIS в Windows XP Pro, Windows 2003 и Windows 2008. Код взят с нашего исходного сайта (весь код точно такой же) и размещен в других средах, чтобы посмотреть, сможем ли мы начать разработку и внести дальнейшие изменения.

Win 2003 является текущей функцией внутреннего сервера. Он запускает код без проблем. Другие 2 нет, с тем же сообщением об ошибке:

Ошибка парсера
Описание: во время анализа ресурса, необходимого для обслуживания этого запроса, произошла ошибка. Пожалуйста, просмотрите следующую конкретную информацию об ошибке разбора и измените исходный файл соответствующим образом.

Сообщение об ошибке синтаксического анализатора: в документе XML произошла ошибка (0, 0).

Ошибка источника:

[Нет соответствующих строк источника]

Исходный файл: /site1/App_WebReferences/salesforce/ Line: 1

Информация о версии: Microsoft .NET Framework Версия:2.0.50727.3615; ASP.NET версия:2.0.50727.3618

Я не думаю, что это проблема с файлом Salesforce Wsdl, потому что он говорит, что проблема с самой первой строкой. Объявление о xml.

    <?xml version="1.0" encoding="UTF-8"?>

    <!--
    Salesforce.com Enterprise Web Services API Version 21.0
    Generated on 2011-02-24 15:38:46 +0000.

    Package Versions:
    Informatica Data Loader (Version: 1.11, Namespace: infa)
    Salesforce for Google AdWords (Version: 1.2, Namespace: sfga)
    VerticalResponse for AppExchange (Version: 1.1, Namespace: vr)

    Copyright 1999-2011 salesforce.com, inc.
    All Rights Reserved
    -->

    <definitions targetNamespace="urn:enterprise.soap.sforce.com" ...

Я считаю, что это может иметь какое-то отношение к файлам bin или коду, который запускает сайт. Глобальный или приложение, которое не работает правильно.

Я использую AspDotNetStorefront. Более новая версия 9.x работает одновременно на том же сервере Windows 2008. Он работает просто отлично.

Кроме того, я подумал, что IIS может заблокировать некоторые файлы, что не позволяет ему правильно скомпилировать файлы, которые работают на другом сервере. Это просто теория, которую я не знаю, как проверить, или даже найти файл (ы), которые нарушают. Я попытался удалить все временные файлы.NET из папки Windows после закрытия сайта в IIS. Но я не знаю, является ли это единственным местом для файлов. Это не решило проблему в любом случае.

1 ответ

Решение

Я заметил довольно много посещений этого вопроса и решил опубликовать некоторые из вещей, которые я сделал, чтобы решить проблему. Мы только недавно столкнулись с подобной проблемой на нашем сайте, и я надеюсь, что они могут быть полезны.

Во-первых, нужно перекомпилировать весь сайт, коснувшись web.config (добавив пробел, а затем удалив его и сохранив web.config). Эта перекомпиляция может не повлиять на весь сайт, и некоторые из кэшированных файлов могут быть неправильно перекомпилированы.

Итак, второй шаг - найти вашу временную папку.Net в каталоге Windows. Найдите конкретную папку, содержащую вашу кэшированную сборку для сайта, на котором возникают проблемы. Поскольку у меня одновременно работает несколько сайтов, я должен искать по определенному имени файла, например, johnjohn.aspx. Папки имеют временные имена, которые я хотел бы понять, откуда они берутся, но как только вы нашли папку, вы можете создать ее резервную копию и удалить ее или переименовать. Для этого вам, вероятно, потребуется остановить сайт. После удаления / переименования папки перезапустите сайт в IIS.

Это то, что у меня есть сейчас. Я проверю, чтобы увидеть, если кто-то еще опубликовал решения.

Другие вопросы по тегам