[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 メーリングリストの案内