我有一个应该与C#应用程序集成的应用程序,客户端建议使用web服务。因此,我的Java服务将从C#应用程序中调用。在我的C# web服务和客户端的Java应用程序之间保持良好的数据转换的最佳选择是什么,以及哪种方法可以让我发送和接收复杂的数据类型:
发布于 2015-05-31 17:51:21
WebHttpBinding (参见这里 )
定义一个绑定元素,用于为响应HTTP请求而不是SOAP消息的Windows通信基础(WCF) Web服务配置端点。
因此,这是更多的REST样式http请求。
BasicHttpBinding (参见这里 )
表示一个绑定,Windows通信基金会(WCF)服务可以用来配置和公开能够与基于ASMX的Web服务和客户端以及符合WS基本配置文件1.1的其他服务通信的端点。
因此,这取决于您的C#服务所公开的服务端点的类型。如果要公开REST样式端点,请使用WebHttpBinding。否则,如果使用asmx端点公开基于SOAP协议的webservices,则使用选项1或选项2。
如果您正在公开一个http://yourdomaine.com/serviceuri.asmx?wsdl端点,那么.asmx通常应该可以通过类似于这里的请求获得。您可以将该wsdl提供给Apache到java (参见这里)。描述说:
wsdl2java获取一个WSDL文档并生成完全带注释的代码,以便实现服务。WSDL文档必须有一个有效的portType元素,但是它不需要包含绑定元素或服务元素。使用可选参数,您可以自定义生成的代码。此外,wsdl2java可以生成一个基于Ant的makefile来构建应用程序。
有关要使用的选项的完整列表,请参见链接。
因此,使用适当的选项,它将为数据交换(复杂类型)生成必要的java类,以及打包到业务服务中的服务调用类。
希望这能有所帮助
发布于 2015-05-31 19:29:51
下面是一个很好的例子:示例
它使用BasicHttpBinding
https://stackoverflow.com/questions/30559908
复制相似问题