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