我想知道是否有任何人在设计WCF合同方面有一些很好的提示/注意事项,而不是在旧的Microsoft Web服务技术(例如WSE)和非Microsoft技术(例如WSE)方面. Java调用WCF Web服务.
例如:在将DateTime作为合同中的类型公开时,是否需要考虑任何特殊规则?字典和Hashtables怎么样?您可能遇到的各种绑定有哪些问题?
关于你的DateTime问题,你关注通过WCF传递DateTime是正确的.这只是许多人抱怨困难的一个环节...... http://daveonsoftware.blogspot.com/2008/07/wcf-datetime-field-adjusted.html
根据Juval Lowy的书"编程WCF服务,第2版"第3.1.3节...
WCF为原始类型提供隐式数据协定,因为这些类型的模式存在行业标准.
他还指出,在使用自定义类型作为操作合同方法的参数方面.我认为这也适用于方法返回类型.
为了能够使用自定义类型作为操作参数,有两个要求:第一,类型必须是可序列化的,其次,客户端和服务都需要具有导致相同数据的该类型的本地定义架构.
您可能还想查看F.4节.数据合同,这是他的WCF编码标准的一部分.Bullet#9适用于您的问题......
不要将特定于.NET的类型(如Type)作为操作参数传递.
基于WSHttpBindingBase的绑定(在Reflector.NET中搜索其四个派生)将是最具互操作性的,因为它们是为互操作性而设计的.
我强烈推荐Juval的书:http://www.bookpool.com/sm/0596521308