カタカタブログスマートフォン用の表示で見るカタカタブログSIerで働くITエンジニアがカタカタした記録を残す技術ブログ。Linuxが中心です。数学やデータ分析なども。WebServiceアプリケーションを作成する機会があった(今どきSOAP、とかいう話はさておき)ので、検証結果をメモ。MetroでSOAPサービスを作ってWebLogicに公開する手順を公開した。Ultimate版で同等レベルの簡単なSOAPサービスを実装する。その上でGradleでビルドしwarファイルを作成し、GlassFishサーバにデプロイしてSoapUIでSOAPサービスが正しく動作していることを確認する。今回は以下のMacローカル環境で検証した。Edition)を使用。テストツールとしてSoapUI-5.4.0をSOAPクライアントとして使用。環境変数JAVA_HOMEの設定を忘れないように。IDEAで新規プロジェクトを作成し、SOAPアプリケーションを作成する。name等は適当に続いてこのプロジェクトをgradleプロジェクトにする。initコマンドを実行する。executedこれでGradleプロジェクトが用意できたのでSOAPのWebService機能を実装する。今回は簡単に以下のように@WebServiceアノテーションを持つサービスクラス一つに、@WebMethodアノテーションを持つ簡単な足し算メソッド一つをSOAPサービスとして公開する。}}IDEA上で見るとこんなかんじ。Gradleでwarファイル作成build.gradleを以下のように編集し、warプラグインを利用可能にする。‘war’を追加し、コメントを削除した。initによって作成されたデフォルトのまま。tasksコマンドを実行し、warタスクが使えるようになっていることを確認。(・・・略)確かにwarタスクが使えるようになっているので、これを実行する。★build/tmpbuild/tmp/compileJavabuild/tmp/warbuild/tmp/war/MANIFEST.MFBuildディレクトリ配下にビルドされたclassファイル等が配置される。ここにwarファイルも作成されていることが確認できる。warファイルをGlassFishにデプロイwarが作成されたのでアプリケーションサーバにデプロイしてみる。今回はアプリケーションサーバとしてGlassFishを利用する。GlassFishがインストールされていない場合は以下のようにインストールする。glassfishGlassFishは以下のコマンドで起動する。管理コンソールにログインできる。今回は素直にGlassFishの管理コンソールから手動でwarをデプロイする。ApplicationsのDeployからwarファイルをアップロードしDeployを選択する。Endpointというリンクがあるのでそこを開く。WSDLが確認できる。/soapapp1315251054544753865/AppService?wsdlこのリンクをさらにたどると、以下のようなリンクが表示されるのでそこからWSDLの中身も確認できる。http://server:8080/soapapp1315251054544753865/AppService?wsdlSoapUIでテストSOAPテストツールとしては定番のSoapUIでテストする。SoapUIについての説明は割愛するが、以下からダウンロード・インストールできる。Projectを作成する。WSDLに上で確認したGlassFish上にデプロイされたWSDLエンドポイントを指定する。SOAPサービスが認識されるので、addサービスにパラメータを指定して実行する。実行結果を見ると、正しくWebServiceが計算結果を応答として返していることが分かる。※パラメータに3と5を指定すると、正しく3+5=8の計算結果が応答結果として返されている!つまり、作成したSOAPサービスが正しくデプロイされ動作していることが確認できた。IDEAで一から作成しGradleでwarファイル化する方法を確認した。作ったwarをGlassFishにデプロイし正しく動作していることも確認できた。SOAPサービスを作成して公開すること自体はこのレベルであればさほど難しくなくできることがわかった。あとはGlassFishへのデプロイまでGradleから自動化できればより簡単に運用できるようなりそう。以上!2019/3/3追記wsimportを使ってこのSOAPサービスのクライアントコードを自動生成する記事を公開しました。12c(12.1.3)にantでアプリケーションをデプロイしてみるWebLogicサーバにアプリケーションをantでデプロイしてみた。はてなブログPro東京のSIerで働くITエンジニアです。Linux、開発言語はJava、PL/SQL、bashが多いです。Piなどにも興味を持っています。最近は統計やデータマイニング、機械学習などの勉強も始めました。(1)月別アーカイブ検索スポンサーリンクスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。