2009-05-05 72 views

回答

5

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

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

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

如果直接浏览到.asmx文件,你会得到一个很好的测试工具,您可以使用探索,你可以调用的各种方法。

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

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

这将保护您的使用代码免受将来可能发生在Web服务上的任何接口更改,从而保持尽可能小的代码实际区域。

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

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

0

如果您使用的是传统asmx Web服务,则只需使用flyswat提及的标准WSDL即可。

其他解决方案如果不使用标准的ASP.NET Web服务:

使用REST

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

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

确保对象是可序列和只要你能投它在Java方面类似的类,你很好。否则,您可能必须使用Java编写一些自定义类映射器。

+0

这就是WSDL的用途。 – FlySwat 2009-05-05 02:46:40

+0

他可以使用http://xstream.codehaus.org/进行xml序列化,并简单地构建REST服务。 – 2009-05-05 02:49:59

+1

你知道一个WSDL是通过网络传递的对象的接口,并且他已经在堆栈的两边都有一个完美的SOAP解决方案吗? – FlySwat 2009-05-05 02:53:58

-1

您可以通过在IKVM上运行Java来做到这一点。

相关问题