[Seasar-user:21577] Re: [DOMA]エンティティプロパティへのアクセスに失敗します

maro [E-MAIL ADDRESS DELETED]
2013年 3月 26日 (火) 19:21:35 JST


中村(taedium)さん

長岡(DOMA初心者)です。

修正して頂いたjarファイルにして、うまく行きました。

お手数をお掛けしました。
ありがとうございました。

On Tue, 26 Mar 2013 17:38:04 +0900, Toshihiro Nakamura wrote:
> 中村(taedium)です。
>
> java.lang.reflect.FieldクラスのsetAccessibleメソッドの
> 呼び出しがセキュリティポリシーで禁じられているために
> 例外が発生しているようです。
>
> 対応方法の1つはセキュリティポリシーを調整することです。
> WebOTXをお使いのようですので
> こちらのマニュアルが参考になるのではと思います。
> 
> http://www.nec.co.jp/WebOTX/download/manual/84/html/design/2_webap.html#2.4.
>
> そもそもpublicなField(ここではSAE1402S04SA003Entityのstフィールド)
> に対してはsetAccessibleメソッドを呼び出す必要がないので、
> Domaの方を修正してみました。
> セキュリティポリシーの調整が難しい場合はこちらをお試しください。
> 
> http://maven.seasar.org/maven2-snapshot/org/seasar/doma/doma/1.30.0-SNAPSHOT/doma-1.30.0-20130326.083256-1.jar
>
>
> On Tue, 26 Mar 2013 16:28:55 +0900
> maro wrote:
>
>> 長岡といいます。
>> DOMA初心者です。
>> 以下のようなEntityクラスを作りました。
>>
>> package sae1402.entity;
>>
>> import org.seasar.doma.Entity;
>> import org.seasar.doma.Column;
>>
>> @Entity
>> public class SAE1402S04SA003Entity {
>>
>>      @Column(name = "MultiBlockName")
>>      public String st;
>>
>> }
>>
>> 実行すると、以下のようなエラーが発生します。
>> 対応方法をご教示頂けませんでしょうか。
>>
>> 2013/03/26 15:21:59.750 3552 75 xxx-PC 0 SAE 
>> sae1402.SAE1402S04Service
>> sae1402S04SA001 141 システムエラーが発生しました。
>> java.lang.ExceptionInInitializerError
>> 	at 
>> sae1402.Dao.SAE1402S04DaoImpl.SelectTest(SAE1402S04DaoImpl.java:97)
>> 	at
>> 
>> sae1402.SAE1402S04Service.sae1402S04SA001(SAE1402S04Service.java:101)
>> 	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:597)
>> 	at
>> 
>> com.nec.webotx.enterprise.webservice.InstanceResolverImpl$1.invoke(InstanceResolverImpl.java:112)
>> 	at
>> 
>> com.nec.webotx.webservice.xml.ws.server.InvokerTube$2.invoke(InvokerTube.java:147)
>> 	at
>> 
>> com.nec.webotx.webservice.xml.ws.server.sei.EndpointMethodHandler.invoke(EndpointMethodHandler.java:267)
>> 	at
>> 
>> com.nec.webotx.webservice.xml.ws.server.sei.SEIInvokerTube.processRequest(SEIInvokerTube.java:93)
>> 	at
>> 
>> com.nec.webotx.webservice.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:607)
>> 	at
>> 
>> com.nec.webotx.webservice.xml.ws.api.pipe.Fiber._doRun(Fiber.java:566)
>> 	at
>> 
>> com.nec.webotx.webservice.xml.ws.api.pipe.Fiber.doRun(Fiber.java:551)
>> 	at
>> 
>> com.nec.webotx.webservice.xml.ws.api.pipe.Fiber.runSync(Fiber.java:446)
>> 	at
>> 
>> com.nec.webotx.webservice.xml.ws.server.WSEndpointImpl$2.process(WSEndpointImpl.java:265)
>> 	at
>> 
>> com.nec.webotx.webservice.xml.ws.transport.http.HttpAdapter$HttpToolkit.handle(HttpAdapter.java:495)
>> 	at
>> 
>> com.nec.webotx.webservice.xml.ws.transport.http.HttpAdapter.handle(HttpAdapter.java:256)
>> 	at
>> 
>> com.nec.webotx.webservice.xml.ws.transport.http.servlet.ServletAdapter.handle(ServletAdapter.java:140)
>> 	at
>> 
>> com.nec.webotx.enterprise.webservice.JAXWSServlet.doPost(JAXWSServlet.java:178)
>> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:738)
>> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:831)
>> 	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:597)
>> 	at
>> 
>> org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:304)
>> 	at
>> 
>> org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:302)
>> 	at java.security.AccessController.doPrivileged(Native Method)
>> 	at javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
>> 	at
>> 
>> org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:341)
>> 	at
>> 
>> org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:183)
>> 	at
>> 
>> org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:631)
>> 	at
>> 
>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:326)
>> 	at
>> 
>> org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:337)
>> 	at
>> 
>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:269)
>> 	at
>> 
>> org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:694)
>> 	at
>> 
>> org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:639)
>> 	at
>> 
>> com.nec.webotx.enterprise.web.WebPipeline.invoke(WebPipeline.java:99)
>> 	at
>> 
>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:220)
>> 	at
>> 
>> org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:694)
>> 	at
>> 
>> org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:639)
>> 	at
>> 
>> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:633)
>> 	at
>> 
>> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1117)
>> 	at
>> 
>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:130)
>> 	at
>> 
>> org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:694)
>> 	at
>> 
>> org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:639)
>> 	at
>> 
>> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:633)
>> 	at
>> 
>> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1117)
>> 	at
>> 
>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:437)
>> 	at
>> 
>> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:982)
>> 	at
>> 
>> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:810)
>> 	at
>> 
>> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:584)
>> 	at java.lang.Thread.run(Thread.java:662)
>> Caused by: 
>> org.seasar.doma.jdbc.entity.EntityPropertyAccessException:
>> [DOMA2208]
>> 
>> エンティティクラス[sae1402.entity.SAE1402S04SA003Entity]のエンティティプロパティ[st]へのアクセスに失敗しました。原因は次のものです。java.security.AccessControlException:
>> access denied (java.lang.reflect.ReflectPermission
>> suppressAccessChecks)
>> 	at
>> 
>> org.seasar.doma.jdbc.entity.BasicPropertyType.getField(BasicPropertyType.java:161)
>> 	at
>> 
>> org.seasar.doma.jdbc.entity.BasicPropertyType.createAccessorFactory(BasicPropertyType.java:141)
>> 	at
>> 
>> org.seasar.doma.jdbc.entity.BasicPropertyType.<init>(BasicPropertyType.java:126)
>> 	at
>> 
>> sae1402.entity._SAE1402S04SA003Entity.<init>(_SAE1402S04SA003Entity.java:14)
>> 	at
>> 
>> sae1402.entity._SAE1402S04SA003Entity.<clinit>(_SAE1402S04SA003Entity.java:11)
>> 	... 53 more
>> Caused by: java.security.AccessControlException: access denied
>> (java.lang.reflect.ReflectPermission suppressAccessChecks)
>> 	at
>> 
>> java.security.AccessControlContext.checkPermission(AccessControlContext.java:323)
>> 	at
>> 
>> java.security.AccessController.checkPermission(AccessController.java:546)
>> 	at 
>> java.lang.SecurityManager.checkPermission(SecurityManager.java:532)
>> 	at
>> 
>> java.lang.reflect.AccessibleObject.setAccessible(AccessibleObject.java:107)
>> 	at
>> 
>> org.seasar.doma.internal.util.FieldUtil.setAccessible(FieldUtil.java:56)
>> 	at
>> 
>> org.seasar.doma.jdbc.entity.BasicPropertyType.getField(BasicPropertyType.java:159)
>> 	... 57 more
>>
>> よろしくお願いします。
>> _______________________________________________
>> Seasar-user mailing list
>> Seasar-user @ ml.seasar.org
>> https://ml.seasar.org/mailman/listinfo/seasar-user



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