如何将WCF RESTful Web服务移植到Axis 2 / C(或WSO C ++)

时间:2010-02-02 17:24:10

标签: wcf web-services axis2 axis2c

我们正在考虑将一些Web服务应用程序(目前处于原型阶段)从WCF / C#重做为C ++跨平台Web服务框架。所以,我正在将Axis2 / C或WSO2 WSF / C ++视为可能的框架。我真的想将已经在WCF服务中编写的功能移植到其他服务框架。

这是功能:

  • Web GET调用返回JSON - 由Axis2 / Java支持(尚未确定C / C ++版本)
  • 还可以返回任意内容(如生成的图像或页面)。

在WCF中,您可以通过修改服务操作来返回JSON:

[OperationContract]
[WebGet(UriTemplate = "/calltimings", BodyStyle = WebMessageBodyStyle.Bare, ResponseFormat = WebMessageFormat.Json)]
TimingInfo[] CallTimings();

其中TimingInfo是一个序列化为JSON的简单数据协定。我可以在Axis2(无论如何都是Java版本)中找到如何做同样的事情。

我的webservice支持的另一个电话是:

[OperationContract]
[WebGet(UriTemplate = "/ping.htm")]
Stream PingHTML();

动态生成html页面。还有其他类似的调用返回包含生成图像内容的Stream。 WCF框架神奇地接受Stream并将内容直接放入HTTP响应主体。这对于图像非常有用,因为我可以像这样编写Web客户端代码:

<img id="viewportX" src="http://www.myservice.com/getimage?rotation=93"/>

所以,我的问题是:如何编写Axis2 / C服务操作,将图像内容直接返回给调用者?

我如何在网络客户端中写这个?

<img id="viewportX" src="http://www.myservice.com/axis2/some_service/getimage?rotation=93"/>

可以吗?

0 个答案:

没有答案