[Seasar-user:18616] RESTful、RestUriParam使用時の異常について

cuiguodong [E-MAIL ADDRESS DELETED]
2009年 10月 9日 (金) 11:08:39 JST


崔国棟@SunNetと申します。
お世話になっています。

S2AXIS2を利用して、webserviceを作っています。
deployしたwebserviceをURLからアクセスしようとしているところで、
RESTfulなので、http://s2axis.seasar.org/ja/s2axis2/userguide/rest.htmlに下記注意
点があって、
----------------------------------------
シンプルタイプのパラメータを指定する場合
以下のように、サービスのメソッド引数がシンプルタイプである場合の例を示します。 この場
合、必ず@RestUriParamアノテーションを指定してください。 
----------------------------------------
で、
getTestListService:
    public TestDto getTestList(
            @RestUriParam("test1") String t1,
            @RestUriParam("test2") String t2);
getTestListServiceImpl:
    public TestDto getTestList(
            @RestUriParam("test1") String t1,
            @RestUriParam("test2") String t2) {
...
}

Deploy時、下記異常が発生しました:
org.seasar.remoting.axis2.deployer.DeployFailedException: [EAXS0003]サービスの
生成に失敗しました 
Caused by: java.lang.ClassCastException: $Proxy7 cannot be cast to 
javax.jws.WebParam
	at 
org.apache.axis2.description.java2wsdl.DefaultSchemaGenerator.getParameterNam
e(DefaultSchemaGenerator.java:1237)
	at 
org.apache.axis2.description.java2wsdl.DefaultSchemaGenerator.processMethods
(DefaultSchemaGenerator.java:329)
	at 
org.apache.axis2.description.java2wsdl.DefaultSchemaGenerator.generateSchema
(DefaultSchemaGenerator.java:252)
	at org.apache.axis2.deployment.util.Utils.fillAxisService
(Utils.java:514)
	at 
org.seasar.remoting.axis2.deployment.impl.ComponentBasedServiceBuilderImpl.po
pulateService(ComponentBasedServiceBuilderImpl.java:177)
	... 44 more

interfaceだけをRestUriParamで設定すれば異常が発生しないけど、URLにのtest1、test2を見
てないです。

interfaceとImpl両方ともRestUriParamを使わなければ、うまくアクセス出来ますが、
「ず@RestUriParamアノテーションを指定してください。 」の理由はなんですか。

教えてください!

以上です。宜しくお願いいたします。


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