Веб-сервис возвращает текст/обычный текст, когда ожидается текст/xml?

Мне нужно использовать компонентный интерфейс People Soft для связи с People Soft. Я не могу найти какой-либо документации для этого, поэтому мне пришлось отказаться от старой версии программного обеспечения, которое взаимодействует со старой версией People Soft, чтобы изучить его.

Люди из People Soft, с которыми я работаю, тоже ничего не знают о компонентном интерфейсе, но они, очевидно, настроили некоторые веб-сервисы и дали мне файлы wsdl. Я настроил его в VS2k8 и написал небольшое приложение, чтобы попытаться вызвать веб-сервис, чтобы проверить, работает ли он. Я получаю это сообщение:

Клиент обнаружил тип содержимого ответа 'text/plain; charset=UTF-8", но ожидается "text/xml".

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

Адрес, который я получил из WSDL для веб-сервиса, — http:///PeopleSoftServiceListeningConnector, когда я просто помещаю этот адрес в веб-браузер, я получаю то, что выглядит как SOAP xml с «IBRequest:getInfoXMLString(). ExternalOperationName — обязательное поле». в тегах строки ошибок.

Любое понимание этой проблемы было бы здорово. Я не знаю, то ли я делаю это неправильно, то ли PS неправильно настроен, и я действительно просто шарю в темноте. Черт, даже если вы просто знаете, где где-то спрятана документация по интерфейсу компонентов PS, это было бы здорово.

РЕДАКТИРОВАТЬ: после того, как Джон Скит посоветовал использовать скрипача, у меня есть ответ от веб-сервиса:

<?xml version="1.0"?>
<IBInfo>
    <Status>
        <StatusCode>20</StatusCode>
        <MsgSet>158</MsgSet>
        <MsgID>10409</MsgID>
        <DefaultTitle>Integration Gateway Error</DefaultTitle>
    </Status>
</IBInfo>

person jhunter    schedule 02.09.2009    source источник
comment
Это тело ответа является желаемым, но сообщение об ошибке предполагает, что заголовок ответа Content-Type в этом ответе правильный. В Fiddler щелкните инспектор заголовков ответа и подтвердите, что он неправильный. Вы можете использовать функцию отладки точки останова Fiddler (см. www.fiddler2.com/fiddler/help/video), чтобы изменить заголовок типа содержимого ответа и убедиться, что это устраняет проблему.   -  person EricLaw    schedule 03.09.2009
comment
Это не ответ SOAP. Это должно было быть SOAP?   -  person John Saunders    schedule 04.09.2009


Ответы (1)


Я видел это, когда вы либо использовали неправильный URL-адрес, либо делали что-то еще, что генерировало сообщение об ошибке вместо обычного ответа XML.

Попробуйте посмотреть, что содержится в ответе, используя Fiddler — это должно помочь.

person Jon Skeet    schedule 02.09.2009
comment
Спасибо за предложение, Fiddler определенно будет полезен здесь (и в будущем). Я обновил текст вопроса тем, что показал мне скрипач. - person jhunter; 02.09.2009