質問: 現在、音声ファイルのノイズを除去するWeb APIサービスを始めたいと思っています。 仕様としましては、クライアントからノイズの入ったwavファイル(仮にinput.wavとします。)をサーバーに送信して、サーバーはそれに基づいてノイズを除去するアプリケーションを起動(phpのexecを使用します。)して、ノイズを除去したwavファイル(仮にoutput.wavとします。)をクライアントに返すというものです。 それを、phpのSOAP(なるべくNuSOAPを使いたい。)を使って実現するには、どのようにプログラミングすればよろしいでしょうか。 環境は次のとおりです。 ・OS:ubuntu16.04 ・php:7 ・python:2.7 それでは、よろしくお願いします。 実は、これまで自分でいろいろと調べましたので、調べた内容を記載します。 (1)wsdlを使うとできるらしい。 wsdlを使うとファイルの送受信ができるようです。 しかし、wsdlを使えるようになるにはかなりの時間が必要です。 今、そこまでの時間の余裕がありません。 (2)NuSOAPを使うと簡単らしい。 NuSOAPを使うと、SOAP通信が簡単にできるようです。 しかし、NuSOAPを使った場合のファイルの送受信方法を見つけることができませんでした。 (3)RESTを使うとできるらしい。 SOAPではなくRESTを使うとできるようです。 しかし、今回の仕様がSOAPなのです。 そういう状況なので、何卒よろしくお願いします。
回答: WSDLファイルがないと呼び出し側(クライアント)が大変では?というかそれでOKが出るとは思えません...。 SOAPサーバーを立てるのは、NuSOAP(←これ生きてるんですか...?)を使ってもいいですし、PHP公式の SoapServer を使っても何でもよいと思います。ネットや書籍で良さげなサンプルコード・解説を探し、それに合わせるのがよろしいかと。 音声のバイナリデータは最悪Base64でエンコードしてSOAPメッセージのXMLに埋め込むのが手っ取り早いです(転送効率はかなり悪くなりますが)。こだわるなら、MTOM や SwA を使って下さい。 * PHP: SoapServer - Manual * PHP: WSDL の作成方法について理解する - Manual それを時間の余裕がないから(作って|考えて)欲しいというお仕事のご依頼であれば、Lancers や CloudWorks などのクラウドソーシングサービスで依頼するのが良いでしょう。 * クラウドソーシングなら日本最大級の「ランサーズ」 * 日本最大級のクラウドソーシング「クラウドワークス」