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