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

jun funakura jun.funakura @ gmail.com
2006年 10月 27日 (金) 12:52:43 JST


小橋川さん。

はじめまして、ふなくら(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 メーリングリストの案内