[akabana-user:48] Re: s2flex2 サービスの登録につきまして

小橋川 koba-g @ ospo.co.jp
2006年 10月 27日 (金) 13:08:10 JST


ふなくら様
返信ありがとうございます。

下記の件で確認したところうまく動きました。
ありがとうございます。

> CoolDeployの命名規則として実装クラスは接尾語を
> implにするようになっています。

の件は知っていたのですが、ケアレスミスです。

申し訳ございません。
----- Original Message ----- 
From: "jun funakura" <jun.funakura @ gmail.com>
To: <akabana-user @ ml.seasar.org>
Sent: Friday, October 27, 2006 12:52 PM
Subject: [akabana-user:47] Re:s2flex2 サービスの登録につきまして


> 小橋川さん。
>
> はじめまして、ふなくら(nod)です。
>
> ご質問いただいた以下の件ですが、
> CoolDeployの命名規則として実装クラスは接尾語を
> implにするようになっています。
> 実装クラス名をDbTestServiceImple からDbTestServiceImplに
> した場合はいかがでしょうか?(最後のeをはずす。)
>
> お時間がありましたらご確認ください。
> 以上よろしくお願いいたします。
>
> --
> ふなくら
>
>
>
>
> 06/09/07 に 小橋川<koba-g @ ospo.co.jp> さんは書きました:
>> お世話になっております。
>> 小橋川です。
>>
>> 質問なんですが
>> 現在
>> s2fles2を利用してFlex2との連携をテストしています。
>>
>> flex2-example-1.0.0-rc-3.zip
>> をダウンロードして
>>
>> プロジェクト内に
>> サービスを追加して
>> Flex2からサービスを呼び出しているのですが
>> 下記のエラーが出てしまいます。
>>
>> [エラー内容]
>> [EFLX0001]適用可能なServiceInvoker[dbTestService]が見つかりません。
>> org.seasar.flex2.rpc.remoting.service.exception.InvokerNotFoundRuntimeException:
>> [EFLX0001]適用可能なServiceInvoker[dbTestService]が見つかりません。
>>  at
>> org.seasar.flex2.rpc.remoting.service.impl.RemotingServiceInvokerChooserImpl.chooseInvoker(RemotingServiceInvokerChooserImpl.java:41)
>>  at
>> org.seasar.flex2.rpc.remoting.message.processor.impl.MessageBodyProcessorImpl.processBody(MessageBodyProcessorImpl.java:96)
>>  at
>> org.seasar.flex2.rpc.remoting.message.processor.impl.MessageBodyProcessorImpl.process(MessageBodyProcessorImpl.java:65)
>>  at
>>  org.seasar.flex2.rpc.remoting.message.processor.impl.MessageProcessorImpl.process(MessageProcessorImpl.java:64)
>>  at
>> org.seasar.flex2.rpc.remoting.processor.impl.RemotingMessageProcessorImpl.process(RemotingMessageProcessorImpl.java:49)
>>  at
>> org.seasar.flex2.rpc.remoting.RemotingGateway.doPost(RemotingGateway.java:55)
>>  at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
>>  at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
>>  at
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
>>  at
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
>>  at
>> org.seasar.framework.container.filter.S2ContainerFilter.doFilter(S2ContainerFilter.java:63)
>>  at
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186)
>>  at
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
>>  at
>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
>>  at
>> org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
>>  at
>> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
>>  at
>> org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
>>  at
>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
>>  at
>> org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
>>  at
>> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
>>  at
>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
>>  at
>> org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
>>  at
>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
>>  at
>> org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
>>  at
>> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
>>  at
>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
>>  at
>> org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
>>  at
>> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
>>  at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
>>  at 
>> org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
>>  at
>> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
>>  at
>> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
>>  at
>> org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
>>  at
>> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
>>  at java.lang.Thread.run(Unknown Source)
>>
>> ---------------- 設定ファイル --------------------------
>> [convention.dicon]
>> <?xml version="1.0" encoding="UTF-8"?>
>> <!DOCTYPE components PUBLIC "-//SEASAR//DTD S2Container 2.4//EN"
>>  "http://www.seasar.org/dtd/components24.dtd">
>> <components>
>>  <component
>> class="org.seasar.framework.convention.impl.NamingConventionImpl">
>>   <initMethod name="addRootPackageName">
>>    <arg>"examples.flex2.add"</arg>
>>   </initMethod>
>>   <initMethod name="addRootPackageName">
>>    <arg>"examples.flex2.check"</arg>
>>   </initMethod>
>>   <initMethod name="addRootPackageName">
>>    <arg>"examples.flex2.param"</arg>
>>   </initMethod>
>>   <initMethod name="addRootPackageName">
>>    <arg>"examples.flex2.performance"</arg>
>>   </initMethod>
>>  <!--    Dbtestサービスの追        ------------------- ここを追加
>>   <initMethod name="addRootPackageName">
>>    <arg>"examples.flex2.dbtest"</arg>
>>   </initMethod>
>>
>>   <initMethod name="addRootPackageName">
>>    <arg>"examples.flex2.camera.snapshot"</arg>
>>   </initMethod>
>>  </component>
>> </components>
>>
>> ---------------- ソース --------------------------
>> [DbTestService.java]
>> package examples.flex2.dbtest.service;
>>
>> import java.util.ArrayList;
>>
>> public interface DbTestService {
>>
>>  public ArrayList getDbArray();
>>
>> }
>>
>> ----------------------------------------------------------
>> [DbTestServiceImple.java]
>> package examples.flex2.dbtest.service.impl;
>>
>> import java.util.ArrayList;
>> import java.util.HashMap;
>> import java.util.Map;
>>
>> import org.seasar.flex2.rpc.remoting.service.annotation.RemotingService;
>>
>> import examples.flex2.dbtest.service.DbTestService;
>> import examples.flex2.dbtest.service.dao.AreaMstDao;
>> import examples.flex2.dbtest.service.dao.Area_mst;
>>
>> /**
>>  *
>>  * @ RemotingService
>>  */
>> @RemotingService
>> public class DbTestServiceImple implements DbTestService{
>>
>>  private AreaMstDao areaDao;
>>
>>
>>     public void setAreaDao(AreaMstDao areaDao) {
>>   this.areaDao = areaDao;
>>  }
>>
>>
>>  public ArrayList getDbArray() {
>>         ArrayList list = (ArrayList)areaDao.getArea();
>>         Map data;
>>
>>         ArrayList rlist = new ArrayList();
>>         for(int i = 0; i < list.size();i++){
>>          Area_mst amst = new Area_mst();
>>          amst = (Area_mst)list.get(i);
>>
>>          data = new HashMap();
>>          data.put("col1", i);
>>             data.put("col2", amst.getArea_id());
>>             data.put("col3", amst.getArea_name());
>>             data.put("col4", amst.getVieworder());
>>             rlist.add(data);
>>
>>         }
>>
>>         return rlist;
>>     }
>>
>> }
>> ----------------------------------------------------------
>> [Dbtest.mxml]
>> <?xml version="1.0" encoding="utf-8"?>
>> <mx:Application
>>     xmlns:mx="http://www.adobe.com/2006/mxml"
>>     xmlns="*"
>>     layout="absolute"
>>     xmlns:s2="http://www.seasar.org/s2flex2/mxml"
>> >
>>     <mx:Script source="DbTest_script.as" />
>>     <s2:S2Flex2Service id="dbTestService" destination="dbTestService"
>>      result="onResult(event)" fault="onFault(event)" 
>> showBusyCursor="true"
>> />
>>
>>     <mx:TextInput id="size" text="1000" x="10" y="10" width="57"/>
>>     <mx:Button x="75" y="10" label="get data" id="addBtn" width="81"
>> tabIndex="3" click="onClickHander(event)"/>
>>  <mx:DataGrid id="datagrid" right="10" left="10" top="70" bottom="10" >
>>   <mx:columns>
>>    <mx:DataGridColumn headerText="RowCount"  dataField="col1"/>
>>    <mx:DataGridColumn headerText="Area_ID"   dataField="col2"/>
>>    <mx:DataGridColumn headerText="Area_Name" dataField="col3"/>
>>    <mx:DataGridColumn headerText="View"      dataField="col4"
>> editable="true"/>
>>   </mx:columns>
>>  </mx:DataGrid>
>>
>>  <mx:Script>
>>      <![CDATA[
>>
>>       private function onClickHander( event:Event ):void{
>>           dbTestService.getDbArray( parseInt( size.text ));
>>       }
>>      ]]>
>>  </mx:Script>
>> </mx:Application>
>> ----------------------------------------------------------
>>
>> http://s2flex2.sandbox.seasar.org/ja/に
>> 「Flexから呼び出すServiceをアノテーションを利用して制御」
>> とあるので
>>
>> 上記でいいと思っていいるのですが
>> 他に設定するdiconなどがあるのでしょうか
>>
>> 以上 宜しくお願いします。
>>
>>
>> _______________________________________________
>> akabana-user mailing list
>> akabana-user @ ml.seasar.org
>> https://www.seasar.org/mailman/listinfo/akabana-user
>>
> _______________________________________________
> akabana-user mailing list
> akabana-user @ ml.seasar.org
> https://www.seasar.org/mailman/listinfo/akabana-user
> 




akabana-user メーリングリストの案内