Как использовать набор данных C # в Java? - PullRequest
1 голос
/ 11 января 2010

Я использую веб-сервис. Я получаю данные в Java в виде набора данных C #, как получить значения из набора данных в Java.

Ответы [ 4 ]

2 голосов
/ 11 января 2010

Я справился с этим, используя XPath с Xalan для запроса документа DOM, который мне вручает Axis. Схема сериализованного набора данных довольно проста и проста для запроса. Мне просто нужно было убедиться, что Xalan настроен на правильные пространства имен для выполнения запросов.

Я столкнулся с одной проблемой при передаче данных таким образом. Сериализованный DataSet не содержит элемент для данных, который является нулевым. Если вы знаете, какие данные вы ожидаете, то это не проблема. Однако, если вы точно не знаете, какие данные ожидать, вы можете извлечь поля из набора данных из XML-документа.

2 голосов
/ 11 января 2010

Означает ли это, что вы используете веб-сервис для передачи фактического объекта DataSet?

Просто преобразуйте набор данных C # в xml или отформатированную строку на стороне C #, прежде чем они будут отправлены веб-службе. Затем вы можете легко повторно проанализировать выходные данные веб-службы в любой объект Java, который вы хотите. (Я хотел бы просто использовать отформатированную строку, я не использовал библиотеки Java XML, которые ЗАКРЫТЫ так же хороши, как XDoc в C #).

2 голосов
/ 11 января 2010

Набор данных сериализуется как XML. Вам нужно будет создать объект XML на Java сторона и потреблять его, связывая XML с элементами в вашем приложении. Для простого вывода отчета XSLT поможет просто работать.

или

Старайтесь держаться подальше от всего, что связано с .NET. Не возвращайся DataSet, например. Придерживайтесь использования простых типов, массивов и структур простые типы, и все будет в порядке.

Счастливое кодирование

0 голосов
/ 11 января 2010

Зависит от формата веб-сервиса. Если это SOAP-сервис, посмотрите предыдущий SO-ответ: потребление веб-службы в java

Если это спокойно. Я бы предложил использовать JSON, если это возможно, потому что сериализатор JSON на стороне .Net обычно дает вам более независимую сериализацию. Затем Java-сторона httpclient обеспечивает надежный способ подключения, а Json-lib позволяет анализировать, качать и катить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...