数据库对象的序列化,以便在java webservice和asp.net客户端Web应用程序之间发送

时间:2012-01-25 23:22:21

标签: java asp.net web-services serialization

我们有一个java webservice,它为ASP.NET客户端Web应用程序提供数据。客户端应用程序向Web服务请求特定数据,这些数据查询数据库并将数据发回。 数据包含在一个类中,该类包含一个字符串actionCode,用于保存要执行的操作,以及一个对象数据,用于保存要发送到Web服务并返回给客户端的数据。

为了能够发送数据,必须将其序列化,但我们似乎无法使其在两端都能正常工作。我们尝试过JSON,XML,二进制格式等,但都没有工作。 主要问题是我们有几种类型的数据(数据库实体,但也包括其他几种)必须使用相同的通用类(作为数据持有者的对象)进行通信。

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

我们通过以下方式解决了问题:

  • 使用J#(vjslib.dll)从序列化中获取相同的二进制格式,因为这样我们可以使用相同的流
  • 我们使用了一个数据持有者,它有一个字符串来表示要采取的操作以及一个可以保存数据本身的对象。我们将数据持有者更改为byte [],其中包含要发送的序列化对象。因此,我们在整个发送的序列化对象中序列化了数据。
  • java使用带符号的字节,c#/ ASP.Net没有,所以你必须在.Net端使用sbyte。