XML-ответ вызова веб-сервиса в C # - PullRequest
0 голосов
/ 07 декабря 2009

Я вызываю веб-сервис на C # и получаю массив объектов обратно.

Есть ли способ получить строку XML вместо этого?

Ответы [ 4 ]

1 голос
/ 07 декабря 2009

Измените тип возвращаемого значения метода веб-сервиса на строку и сериализуйте ваши данные в XML перед возвратом.

Кроме того, почему вы хотите это сделать? Если вы возвращаете массив объектов, разве это не то, что содержит XML / SOAP?

0 голосов
/ 07 декабря 2009

Хотите ли вы весь XML, включая всю болтовню SOAP, или просто XML-представление самого массива?

Если вы хотите, чтобы массив был только XML, то сериализуйте его, используя класс XmlSerializer. Вы можете либо сериализовать его в WebService и вернуть в виде строки, либо оставить его в виде массива и сериализовать его на стороне клиента.

0 голосов
/ 07 декабря 2009

Если вы используете атрибут ScriptService в своем классе веб-службы (на стороне сервера), это заставляет службу возвращать JSON. Если он у вас есть, удалите его. (То же самое для атрибута ScriptMethod для методов.)

0 голосов
/ 07 декабря 2009

Вы можете напрямую выполнить необработанный вызов с помощью WebClient и получить возвращаемое значение веб-службы в виде XML-данных в формате SOAP.

...