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