项目的需要,我们的C#client,要与JSP实现的服务器进行通信,我们采用的是HTTP的通信方式。
这里涉及到传输很多的结构化参数的问题,于是可以想到的一个办法是直接将数据结构按照某种分割的方式存放在HTTP的报文中,客户端和服务器按照某种约定来进行相应的提取参数。
这里的问题是对于此方法,可能以后的扩展性不是很好,如果需要增加参数,那么通信接口的定义也变得很麻烦。于是能构想到的另外一种标准化参数的方式就是利用XML来传输数据。
一个可以想到的方法就是,客户端首先结构化的参数序列化程XML的形式,然后将XML添入到HTTP报文的content里面,传输过去给服务器端,服务器端(java)将报文内容以xml的方式读出参数。
在网上搜索解决办法的同时,发现基于HTTP的XML通信,可以采用SOAP协议的方式。对此协议还不是很了解,我的疑惑在于,如果已经可以将XML文件写入到http的报文当中,在服务器端可以解析出来XML,那么我们为什么还需要另外的协议呢?
网上有个一个开源的项目,是关于java和C#之间XML序列化与反序列化的包,看起来很简单。不知道是不是可以使用一下
http://sourceforge.net/projects/woxserializer/