java может использовать объект .NET, возвращаемый веб-службой ASP.NET? - PullRequest
2 голосов
/ 05 мая 2009

У меня есть веб-служба ASP.NET, которая возвращает объект настраиваемого объекта (Staff):

[WebMethod]
public Staff GetStaffByLoginID(string loginID){}

как бы я использовал это в Java?

спасибо!

Ответы [ 3 ]

5 голосов
/ 05 мая 2009

ASP.NET автоматически создает WSDL, который содержит определения интерфейса для ваших веб-методов и типы, которые они потребляют / возвращают.

Apache Axis предоставляет инструмент под названием WSDL2Java , который сгенерирует весь код, необходимый для использования веб-службы. Просто укажите это:

http://yoursite.com/YourWebService.asmx?WSDL

Если вы перейдете непосредственно к файлу .ASMX, вы получите хороший тестовый набор, который вы можете использовать для изучения различных методов, которые вы можете вызывать.

Когда Axis прочитает ваш WSDL, он сгенерирует несколько прокси-классов, один из которых будет основан на интерфейсе Staff.

Однако я бы не использовал этот класс в качестве фактического бизнес-объекта, а вместо этого обернул бы доступ к веб-службе через уровень службы. Этот сервисный уровень будет использовать прокси-класс Staff для заполнения вашего реального бизнес-объекта.

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

Я делаю это для живого взаимодействия между Java и .NET на многих платформах с использованием SOAP.

РЕДАКТИРОВАТЬ: Почему это понижен? Это единственный правильный ответ здесь.

0 голосов
/ 05 мая 2009

Вы можете сделать это, запустив Java на IKVM .

0 голосов
/ 05 мая 2009

Просто используйте Стандартный WSDL, как указано в flyswat, если вы используете традиционные веб-сервисы asmx.

другие решения, если не используются стандартные веб-службы ASP.NET:

Использовать ОТДЫХ

http://www.infoq.com/articles/REST-INTEROP

http://www.codeproject.com/KB/XML/WSfromJava.aspx

Убедитесь, что объекты сериализуемы, и до тех пор, пока вы можете привести их к аналогичному классу на стороне Java, у вас все хорошо. Иначе вам, возможно, придется написать несколько пользовательских сопоставителей классов на Java.

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