wso2-wsf-ccp フレームワークを使用して Web サービスを作成し、それを axis2_http_server で実行しようとすると、正常に動作します。しかし、実際に本番環境にデプロイするときは、axis2_http_server をデーモン モードで実行する必要があります。axis2_http_server をデーモン モードで実行するオプションが表示されません。可能であれば誰かが私を案内してもらえますか..?
2 に答える
Axis2/C で Web サービスを展開する最良の方法mod_axis2
は、Apache2 を使用することです。この方法を使用すると、Axis2/C はシステムの起動時に Apache2 モジュールとして起動されます。
hereおよびhereは、Axis2/C を構成およびインストールして でビルドする方法に関するドキュメントmod_axis2
です。
あるいは、mod_axis2 を使用できない場合は、この init.d スクリプトを使用して Axis2/C をデーモン モードで開始できます (完全ではありませんが、機能します)。
#!/bin/sh -e
### BEGIN INIT INFO
# Provides: axis2c
# Required-Start: $local_fs $network
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start Axis2/C application server
### END INIT INFO
case "$1" in
start)
LOGFILE=/var/log/axis2c.log
touch $LOGFILE
chown daemon $LOGFILE
export AXIS2C_HOME=/usr/local/axis2c
cd $AXIS2C_HOME/bin
sudo -Enu daemon sh -c "./axis2_http_server >$LOGFILE 2>&1 &"
;;
stop)
killall -INT axis2_http_server
;;
restart|force-reload)
$0 stop
$0 start
;;
*)
echo "Usage: $0 {start|stop|restart|force-reload}" >&2
exit 1
;;
esac
このスクリプトを として配置し/etc/init.d/axis2c
、実行可能にして開始します。
sudo update-rc.d axis2c defaults
その後、Axis2/C は各システム起動時に自動的にロードされます。
上記で提案したように、現在、Web サービスを Apache にデプロイしようとしています (axis2_http_server を使用して行ったシフト調整として)、wso2_wsf_cpp を apache2 および apr ヘッダー ファイルでコンパイルし、Apache2 で Web サービスをデプロイしようとした後、ブラウザで URL にアクセスします。 com」であり、それもしばらくすると消えます)。私が見ている問題は、次の種類の説明を使用する services.xml にあります。
<service name="imaservice">
<parameter name="ServiceClass" locked="xsd:false">imaservice</parameter>
<description>
IMA service interfaces
</description>
<operation name="registeruser">
<parameter name="RESTMethod">POST</parameter>
<parameter name="RESTLocation">registeruser</parameter>
<messageReceiver class="wsf_cpp_msg_recv" />
</operation>
</service>
この行で見つかった問題: "" この行をコメント アウトすると、サービスを参照できますが、Web サービスを呼び出すと、エラー コード "500" が表示されます。
インターネット上の wso2_wsf_cpp フレームワークで利用できるヘルプはあまりないことがわかりました。これについて多くの研究開発を行いましたが、この問題を修正できませんでした。どんな洞察も大歓迎です。