java可以使用ASP.NET Web服务返回的.NET对象吗?

Gno*_*not 2 java asp.net web-services

我有一个ASP.NET Web服务,返回自定义实体对象(Staff):

[WebMethod]
public Staff GetStaffByLoginID(string loginID){}
Run Code Online (Sandbox Code Playgroud)

我将如何在Java中使用它?

谢谢!

Fly*_*wat 5

ASP.NET自动生成一个WSDL,其中包含Web方法的接口定义以及它们使用/返回的类型.

Apache Axis提供了一个名为WSDL2Java的工具,它将生成使用Web服务所需的所有代码.只需指出:

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

如果直接浏览.ASMX文件,您将获得一个很好的测试工具,可以用来探索可以调用的各种方法.

一旦Axis读取了您的WSDL,它将生成一些代理类,其中一个将基于Staff的接口.

但是,我不会将此类用作您的实际业务对象,而是通过服务层包装对Web服务的访问.此服务层将使用代理Staff类来填充您的实际业务对象.

这可以保护您的消费代码免受将来可能发生在Web服务上的任何界面更改,从而使实际修改的代码区域尽可能小.

我这样做是为了谋生,在许多平台上使用SOAP在Java和.NET之间进行交互.

编辑:为什么这是downvoted?这是唯一正确的答案.