一部のWebサービスアプリケーション(現在はプロトタイプフェーズ)をWCF / C#からC++クロスプラットフォームWebサービスフレームワークにやり直すことを検討しています。そのため、可能なフレームワークとしてAxis2/CまたはWSO2WSF/C++を検討しています。WCFサービスで既に記述されている機能を他のサービスフレームワークに移植したいと思います。
機能は次のとおりです。
- WebGET呼び出しはJSONを返します-Axis2/Javaでサポートされています(C / C ++バージョンについてはまだわかりません)
- 任意のコンテンツ(生成された画像やページなど)を返すこともできます。
WCFでは、次のようにサービス操作を装飾することでJSONを返すことができます。
[OperationContract]
[WebGet(UriTemplate = "/calltimings", BodyStyle = WebMessageBodyStyle.Bare, ResponseFormat = WebMessageFormat.Json)]
TimingInfo[] CallTimings();
ここで、TimingInfoは、JSONにシリアル化する単純なデータコントラクトです。Axis2(とにかくJavaバージョン)で同じことを行う方法を見つけることができます。
私のWebサービスがサポートするもう1つの呼び出しは次のとおりです。
[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サービス操作をどのように書くことができますか?
これをWebクライアントに書き込むにはどうすればよいですか?
<img id="viewportX" src="http://www.myservice.com/axis2/some_service/getimage?rotation=93"/>
できますか?