Silverlight+ApacheAxis

仕事でSilverlightを使うかもなのでちょっと予習しておきます。
もうJavaアプレットにはうんざりだから同じような使い方が出来るといいんだけど…
ちなみにタイトルのとおりWebサービスと併せて使う感じ。なお同じファミリーなWCFは使わない模様。

OSS推進的なことをやってるからSIlverlightとか真逆だけど、普及してるRIAフレームワークは選択肢が少ないから仕方ないんじゃー

下記のような環境が必要です。

  • Eclipse 4.4 (Luna)
  • Tomcat8
  • WTP関係のプラグイン
  • VisualStudio WebDeveloper Express 2010 (※Pro版でも可)
  • VIsualStudio 2010 SP1
  • SIlverlight SDK (※Version 4使用)

バージョンは多少ちがくても平気だと思います。

ちなみにVS2010のSP1を当てないとSilverlightのデザイナーがNullReferenceException起こします。。。

1.Webサービス作成(Apache-Axis) 

Apache-Axisは簡易なので好きです。

EclipseのTomcat実行設定を作ってない場合は作ること
パースペクティブを【JavaEE】⇒「サーバView」で右クリック⇒新規

silverlight_and_web_0

 

Tomcat8を選んで完了

次にWebサービスの「動的Webプロジェクト」を作成します。

silverlight_and_web_1

パッケージ作成後、以下のコードを作成します。

作成したTestServiceImpl.javaを右クリック⇒Webサービス⇒Webサービスの作成をクリック

silverlight_and_web_2

 

1回次へを押したときにメソッド一覧が出てくるので、先ほど作った「sayHello()」があることだけ確認したら後は完了でOKです。
サーバーが立ち上がってない云々言われたら起動を選んでください。

http://127.0.0.1:8080/testwebservice/services/TestServiceImpl?wsdl

上記URLでwsdlが表示できるか確認。出来ればOK

Silverlightがクロスドメインを縦断できるようにポリシーファイルを作成します。
Eclipseワークスペース配下の以下のパスを開きます。

[workspace]\.metadata\.plugins\org.eclipse.wst.server.core\tmp1\wtpwebapps\ROOT

そこに以下のファイルを作成

2.Silverlightアプリの作成

VisualStudioを立ち上げて新規プロジェクト作成へ

silverlight_and_web_4

 

SLTestという名前で「Silverlightアプリケーション」を作成します。
ASP.NETのプロジェクトを併せて作るか聞かれますが、今回はどちらでもいいです

Webサービスを参照追加します。(「参照設定」右クリック⇒サービス参照の追加)

silverlight_and_web_5_1

 

アドレスには先ほどのwsdlのアドレスをペーストして「移動」を押下します。
名前空間は1を取り除いてServiceReferenceにします。

ちなみに普通の.NETアプリなら.NET SDKにwsdl.exeというアプリでプロキシクラスを作成できます。

次にメインページを以下のように書き換えます

これだけでOK
実行してみましょう

silverlight_and_web_5

ボタンを押して「Hello World」とラベルに表示されれば完成です。

 

コメントを残す

メールアドレスが公開されることはありません。