[Seasar-user:3925] [S2Axis2] 名前空間のミスマッチについて
Junichi Kato
[E-MAIL ADDRESS DELETED]
2006年 6月 21日 (水) 20:55:31 JST
加藤です。
こんばんわ。
S2Axis2のサンプル(s2axis2-example)をさわっているのですが、一点確認させて
いただきたいことがあります。
インターフェイスと実装を別のパッケージにしたいのですが、クライアント側で
テストを実行すると以下のような例外がはかれます。
たとえば、
org.seasar.remoting.axis2.examples.ex01.EchoImpl
を
org.seasar.remoting.axis2.examples.ex01.impl.EchoImpl
におき、deploy.diconも修正します。
そして、Tomcatを起動すると、サービスのデプロイ自体は成功しますが、
クライアント側のEchoTest#testEchoを実行すると以下の例外が発生してしまいます。
以下のログの通り、名前空間がミスマッチになっているみたいですがこれを回避
する方法はないでしょうか?
org.apache.axis2.AxisFault: namespace mismatch require http://impl.ex01.examples.axis2.remoting.seasar.org/xsd found http://ex01.examples.axis2.remoting.seasar.org/xsd
at org.apache.axis2.description.OutInAxisOperationClient.execute(OutInAxisOperation.java:287)
at org.apache.axis2.client.ServiceClient.sendReceive(ServiceClient.java:457)
at org.apache.axis2.client.ServiceClient.sendReceive(ServiceClient.java:399)
at org.seasar.remoting.axis2.connector.AxisInOutConnector.execute(AxisInOutConnector.java:42)
at org.seasar.remoting.axis2.connector.AbstractAxisConnector.invoke(AbstractAxisConnector.java:59)
at org.seasar.remoting.common.connector.impl.TargetSpecificURLBasedConnector.invoke(TargetSpecificURLBasedConnector.java:105)
at org.seasar.remoting.common.interceptor.RemotingInterceptor.invoke(RemotingInterceptor.java:84)
at org.seasar.remoting.axis2.examples.ex01.Echo$$EnhancedByS2AOP$$65a77f$$MethodInvocation$$echo0.proceed(MethodInvocationClassGenerator.java)
at org.seasar.remoting.axis2.examples.ex01.Echo$$EnhancedByS2AOP$$65a77f.echo(Echo$$EnhancedByS2AOP$$65a77f.java)
at org.seasar.remoting.axis2.examples.ex01.EchoTest.testEcho(EchoTest.java:45)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at junit.framework.TestCase.runTest(TestCase.java:154)
at org.seasar.extension.unit.S2TestCase.runTest(S2TestCase.java:89)
at org.seasar.framework.unit.S2FrameworkTestCase.runBare(S2FrameworkTestCase.java:139)
at junit.framework.TestResult$1.protect(TestResult.java:106)
at junit.framework.TestResult.runProtected(TestResult.java:124)
at junit.framework.TestResult.run(TestResult.java:109)
at junit.framework.TestCase.run(TestCase.java:118)
at junit.framework.TestSuite.runTest(TestSuite.java:208)
at junit.framework.TestSuite.run(TestSuite.java:203)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:478)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:344)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
Caused by: java.lang.Exception: org.apache.axis2.AxisFault: namespace mismatch require http://impl.ex01.examples.axis2.remoting.seasar.org/xsd found http://ex01.examples.axis2.remoting.seasar.org/xsd
at org.apache.axis2.rpc.receivers.RPCMessageReceiver.invokeBusinessLogic(RPCMessageReceiver.java:89)
at org.apache.axis2.receivers.AbstractInOutSyncMessageReceiver.receive(AbstractInOutSyncMessageReceiver.java:37)
at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:454)
at org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:284)
at org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:136)
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.filter.S2ContainerFilter.doFilter(S2ContainerFilter.java:60)
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:868)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:663)
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)
at org.apache.axis2.AxisFault.<init>(AxisFault.java:159)
... 26 more
S2Axisだと、
org.seasar.remoting.axis.server.ServiceDef
org.seasar.remoting.axis.TypeMappingDef
これらで、インターフェイスだけを公開するなり、名前空間を指定するなりで、
上記の問題を解決できそうですが、S2Axis2にはこのようなクラスは見受けられ
ませんでした。S2Axis2ではどのように設定すべきでしょうか?
回避策について、アドバイスいただけると助かります。
よろしくお願いいたします。
───────────────────────────────
有限会社 グランテック
代表取締役
加藤 潤一 Junichi Kato
〒150-0011 東京都渋谷区東1-23-4
TEL : 03-3498-2011
FAX : 03-3498-2012
Mobile : 090-7238-6314
[E-MAIL ADDRESS DELETED] http://www.grandtech.jp/
Seasar-user メーリングリストの案内