[Seasar-user:9414] Re: [S2Flex2]flex2_exampl e1. 0.1 について

jun funakura [E-MAIL ADDRESS DELETED]
2007年 7月 25日 (水) 02:06:04 JST


masanさん

ふなくら(nod)です。

メッセージをみるかぎりでは、S2Flex2に登録されているコンポーネントに
addServiceが登録されていないというように見えます。

Webapp側(S2flex2)の構成はどのようになっていますでしょうか。

1.conversion.dicon

conversion.diconで指定するパッケージとaddServiceを配置している
パッケージは一致していますか?

conversion.diconで以下のようにあるとすると
examples.flex2.add.service.AddService
examples.flex2.add.service.impl.AddServiceImpl

があることを期待します。

<?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>
	</component>
</components>


2.ディレクトリ構成
ディレクトリ構成はどのようになっていますでしょうか。

flex2_exampleは、nomarl_modeで動作する構成になっています。
同じ構成になっていますでしょうか。
それとも、s2flex2-exampleやdoltengが作成するプロジェクトのような
構成になっていますでしょうか。

まずは上記をご確認頂ければと思います。
よろしくお願いいたします。

--
ふなくら(nod)



07/07/24 に [E-MAIL ADDRESS DELETED]<[E-MAIL ADDRESS DELETED]> さんは書きました:
> masanです。
>
> サンプルのparam.mxmlを参照して、下記のようにコーディングをしてみました。
>
> <?xml version="1.0" encoding="utf-8"?>
> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
>         <mx:Script>
>                 <![CDATA[
>                         import avpdd2.dto.AddDto;
>                         import mx.utils.ObjectUtil;
>                         import mx.rpc.events.FaultEvent;
>                         import mx.rpc.events.ResultEvent;
>                         import org.seasar.flex2.rpc.remoting.S2Flex2Service;
>
>                         private var addService:S2Flex2Service;
>
>                         private function onFault(faultEvent:FaultEvent):void {
>                                 ret_text.text = ObjectUtil.toString(faultEvent.fault);
>                         }
>
>                         private function onGetData(resultEvent:ResultEvent):void {
>                                 var addDto:AddDto = resultEvent.result as AddDto;
>                                 if (addDto != null) {
>                                         arg1_txt.text = addDto.arg1.toString();
>                                         arg2_txt.text = addDto.arg2.toString();
>                                         sum_txt.text = addDto.sum.toString();
>                                 }
>                         }
>
>                         private function getFromSession():void {
>                                 addService = new S2Flex2Service("addService");
>                                 addService.initialized(this, "addService");
>                                 addService.destination = "addService";
>                                 addService.addEventListener(ResultEvent.RESULT, onGetData);
>                                 addService.addEventListener(FaultEvent.FAULT, onFault);
>                                 addService.getAddDtoData();
>                         }
>                 ]]>
>         </mx:Script>
>         <mx:Panel x="435" y="30" width="198" height="167" layout="absolute" title="AddDto(from Session)">
>                 <mx:TextInput x="10" y="10" id="arg1_txt"/>
>                 <mx:TextInput x="10" y="40" id="arg2_txt"/>
>                 <mx:TextInput x="10" y="70" id="sum_txt"/>
>                 <mx:Button x="10" y="100" label="getFromSession!" click="getFromSession()"/>
>         </mx:Panel>
>         <mx:Panel x="25" y="30" width="402" height="275" layout="absolute" title="paramcheckService">
>                 <mx:TextArea x="5" y="7" height="188" width="372" id="ret_text"/>
>         </mx:Panel>
> </mx:Application>
>
> が、これを実行すると、下記のようなメッセージが出て期待通りの
> 動作ができません。
>
> ERROR 2007-07-24 21:59:19,248 [http-80-Processor22] [EFLX0001]適用可能なServiceInvoker[addService]が見つかりません。
> org.seasar.flex2.rpc.remoting.service.exception.InvokerNotFoundRuntimeException: [EFLX0001]適用可能なServiceInvoker[addService]が見つかりません。
>         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.requestProcess(MessageProcessorImpl.java:76)
>         at org.seasar.flex2.rpc.remoting.message.processor.impl.MessageProcessorImpl.process(MessageProcessorImpl.java:65)
>         at org.seasar.flex2.rpc.remoting.processor.impl.RemotingMessageProcessorImpl.process(RemotingMessageProcessorImpl.java:49)
>         at org.seasar.flex2.rpc.remoting.RemotingGateway.doPost(RemotingGateway.java:66)
>         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:252)
>         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
>         at org.seasar.framework.container.hotdeploy.HotdeployFilter.doFilter(HotdeployFilter.java:63)
>         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
>         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
>         at org.seasar.framework.container.filter.S2ContainerFilter.doFilter(S2ContainerFilter.java:63)
>         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
>         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
>         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
>         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
>         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
>         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
>         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
>         at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
>         at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
>         at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
>         at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
>         at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
>         at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
>         at java.lang.Thread.run(Thread.java:595)
>
> メッセージではaddServiceが見つからないということですが、何故に見つからないんでしょうか?
>
> 以上、よろしくお願いいたします。
>
> >TO: <[E-MAIL ADDRESS DELETED]>
> >BCC: M.OOISHI
> >送信者 : <[E-MAIL ADDRESS DELETED]>
> >主題 : [Seasar-user:9409] Re:[S2Flex2]flex2_exampl e1. 0.1 について
> >受信日 :07/07/24 20:48
> >属性 : なし
> >
> >nodさん
> >
> >masanです。早速の回答ありがとうございます。
> >残骸が残ってしまっていたのですね。了解いたしました。
> >
> >下記サンプルを眺めながら、SESSIONの使い方を参考にしたいと思います。
> >
> >ありがとうございました。
> >
> >>TO: <[E-MAIL ADDRESS DELETED]>
> >>BCC: M.OOISHI
> >>送信者 : <[E-MAIL ADDRESS DELETED]>
> >>主題 : [Seasar-user:9408] Re:[S2Flex2]flex2_example1. 0.1 について
> >>受信日 :07/07/24 20:24
> >>属性 : なし
> >>
> >>masanさん
> >>
> >>こんばんは、ふなくら(nod)です。
> >>
> >>> このサンプルを解凍すると、ソースが出てくるのですが
> >>> AddSessionService がインタフェースでその実装クラスが見つからないのですが
> >>> どのように考えたらいいのでしょうか?
> >>
> >>今見てみると、上記の実装クラスはなくなっていますね。
> >>整理したときに残ってしまったもののようですm(__)m
> >>
> >>その代わりといっては何ですがaddServiceにSessionデータの
> >>Import/Exportの例をつけています。
> >>
> >>足し算のサンプル(add.html)を実行したあと、パラメータのサンプル(param.html)
> >>を表示して、getFrom session!というボタンをクリックすると、足し算で使った
> >>Dtoをsessionから取得して表示するというようになっています。
> >>
> >>上記の例でご確認いただければと思います。
> >>よろしくお願いいたします。
> >>
> >>--
> >>ふなくら(nod)
> >>
> >>07/07/24 に [E-MAIL ADDRESS DELETED]<[E-MAIL ADDRESS DELETED]> さんは書きました:
> >>> masanです。
> >>>
> >>> s2flex2のサンプルを見ながらSESSIONの利用法を勉強しているのですが
> >>> わからないところがあったので教えてください。
> >>> このサンプルを解凍すると、ソースが出てくるのですが
> >>> AddSessionService がインタフェースでその実装クラスが見つからないのですが
> >>> どのように考えたらいいのでしょうか?
> >>> Chura Project を利用して、Doltengを使ってServiceを実装すると必ずインタフェースと
> >>> その実装クラスが作成されるので、困ってしまいました。
> >>>
> >>> 今回利用したサンプルは、flex2_example 1.0.1 になります。
> >>>
> >>> 以上、よろしくお願いいたします。
> >
> >_______________________________________________
> >Seasar-user mailing list
> >[E-MAIL ADDRESS DELETED]
> >https://ml.seasar.org/mailman/listinfo/seasar-user
> >
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user
>


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