我们希望使用“协议缓冲区”在.net客户端和Java服务器之间进行通信。
理想情况下,我希望通过WCF使用protobuf-net,因为我们与其他服务的所有其他通信都通过WCF堆栈。
我有一个概念证明.net WCF客户端使用protobuf-net端点行为与.net WCF服务器通信,这似乎工作正常。
我的问题是我们如何配置java服务器以将proto-buf发送到我们的WCF客户端?即我们是否需要将Java服务器作为SOAP服务公开给WCF并将proto-buf发送给它?
答案 0 :(得分:1)
如果您的WCF客户端使用的是protobuf-net端点,那么它不使用SOAP吗?我不能说我个人使用过protobut-net,但我知道它是SOAP的替代。基本上,看看它使用的协议并实现与servlet相同的协议。老实说,我希望这是相当简单的。
如果它有效并且您可以将servlet作为开源提供,我怀疑您不是唯一一个想要这样做的人:)
答案 1 :(得分:0)
在这种情况下,我强烈建议为协议使用常规 SOAP,并将byte[]
或Stream
(或其他任何工作)公开为有效负载 - 然后处理应用程序中的编码。
WCF中的序列化程序挂钩意味着它基本上类似于byte[]
有效负载(基于每个参数/结果),但我无法保证它将是在WCF之外容易解构。
此外......如果您将其描述为包含BLOB的SOAP消息,那么您对SOAP是真实的。