[ https://issues.apache.org/jira/browse/WW-4903?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16307451#comment-16307451 ]
Hudson commented on WW-4903: ---------------------------- SUCCESS: Integrated in Jenkins build Struts-master-JDK7 #77 (See [https://builds.apache.org/job/Struts-master-JDK7/77/]) WW-4903 Drops injecting defined factory to avoid mapping exception (lukaszlenart: rev 15e6be1d66be7bc60d26b305dcf768e540900346) * (edit) core/src/main/java/org/apache/struts2/factory/PrefixBasedActionProxyFactory.java WW-4903 Uses Initializable to properly initialise the factory (lukaszlenart: rev 6fc695970f60d7cceca075314076d574370c1a05) * (edit) core/src/main/java/org/apache/struts2/factory/PrefixBasedActionProxyFactory.java WW-4903 Adds a unit test to cover the new functionality (lukaszlenart: rev 457f7c2f57da58c7ae75b75773c017d45bfc519d) * (add) core/src/test/java/org/apache/struts2/factory/PrefixBasedActionProxyFactoryTest.java WW-4903 Covers fallback to default factory with unit test (lukaszlenart: rev a2710a6f040bfe523395c0024d356dc20a5ae022) * (edit) core/src/test/java/org/apache/struts2/factory/PrefixBasedActionProxyFactoryTest.java WW-4903 Uses StrutsActionProxyFactory as a default factory (lukaszlenart: rev 7116ac8801582f593f6d08bb96cb20b232955362) * (edit) core/src/main/java/org/apache/struts2/factory/PrefixBasedActionProxyFactory.java * (edit) core/src/test/java/org/apache/struts2/factory/PrefixBasedActionProxyFactoryTest.java WW-4903 Extends test of empty prefix (lukaszlenart: rev 7cdc319b412a723070915b2d97d966c861ba3d74) * (edit) core/src/test/java/org/apache/struts2/factory/PrefixBasedActionProxyFactoryTest.java WW-4903 Reverts to previous initialise mechanism (lukaszlenart: rev 033573e8fb5c4aceba1e4469b41ff777210a109a) * (edit) core/src/main/java/org/apache/struts2/factory/PrefixBasedActionProxyFactory.java * (edit) core/src/test/java/org/apache/struts2/factory/PrefixBasedActionProxyFactoryTest.java WW-4903 Adds missing header with license (lukaszlenart: rev 809d8968ca8a47fd7bd3a3e9f532ff861f89ba31) * (edit) core/src/test/java/org/apache/struts2/factory/PrefixBasedActionProxyFactoryTest.java > Dependency Mapping Exception When Using PrefixBasedActionProxyFactory > --------------------------------------------------------------------- > > Key: WW-4903 > URL: https://issues.apache.org/jira/browse/WW-4903 > Project: Struts 2 > Issue Type: Bug > Components: Plugin - REST > Reporter: aditya shrivastava > Assignee: Lukasz Lenart > Fix For: 2.5.15 > > Attachments: error_screen_shot.png > > > I am using struts-rest plugin with REST & NON REST flow I am using STRUTS > 2.3.34 version. > To achieve this I am using following configuration. > {code:java} > <constant name="struts.mapper.class" > value="org.apache.struts2.dispatcher.mapper.PrefixBasedActionMapper"/> > <constant name="struts.mapper.prefixMapping" > value="/sm:rest,/pd:rest,:struts"/> > <constant name="struts.actionProxyFactory" value="prefix"/> > {code} > When I start my tomcat & hit on url > https://localhost:8080/myapp > I always get the exception > {code:java} > HTTP Status 500 – Internal Server Error > Type Exception Report > Message java.lang.RuntimeException: > com.opensymphony.xwork2.inject.DependencyException: > com.opensymphony.xwork2.inject.ContainerImpl$MissingDependencyException: No > mapping found for dependency > [type=com.opensymphony.xwork2.ActionProxyFactory, > name='struts.actionProxyFactory'] in public void > org.apache.struts2.impl.PrefixBasedActionProxyFactory.setActionProxyFactory(com.opensymphony.xwork2.ActionProxyFactory). > Description The server encountered an unexpected condition that prevented it > from fulfilling the request. > Exception > java.lang.RuntimeException: java.lang.RuntimeException: > com.opensymphony.xwork2.inject.DependencyException: > com.opensymphony.xwork2.inject.ContainerImpl$MissingDependencyException: No > mapping found for dependency > [type=com.opensymphony.xwork2.ActionProxyFactory, > name='struts.actionProxyFactory'] in public void > org.apache.struts2.impl.PrefixBasedActionProxyFactory.setActionProxyFactory(com.opensymphony.xwork2.ActionProxyFactory). > > com.opensymphony.xwork2.inject.ContainerBuilder$4.create(ContainerBuilder.java:132) > com.opensymphony.xwork2.inject.Scope$2$1.create(Scope.java:51) > > com.opensymphony.xwork2.inject.ContainerImpl.getInstance(ContainerImpl.java:514) > > com.opensymphony.xwork2.inject.ContainerImpl.getInstance(ContainerImpl.java:524) > > com.opensymphony.xwork2.inject.ContainerImpl$9.call(ContainerImpl.java:555) > > com.opensymphony.xwork2.inject.ContainerImpl.callInContext(ContainerImpl.java:584) > > com.opensymphony.xwork2.inject.ContainerImpl.getInstance(ContainerImpl.java:553) > > org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:565) > > org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:81) > > org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:99) > > com.elitecore.nvsmx.system.filter.PortalSecurityFilter.doFilter(PortalSecurityFilter.java:61) > Root Cause > java.lang.RuntimeException: > com.opensymphony.xwork2.inject.DependencyException: > com.opensymphony.xwork2.inject.ContainerImpl$MissingDependencyException: No > mapping found for dependency > [type=com.opensymphony.xwork2.ActionProxyFactory, > name='struts.actionProxyFactory'] in public void > org.apache.struts2.impl.PrefixBasedActionProxyFactory.setActionProxyFactory(com.opensymphony.xwork2.ActionProxyFactory). > > com.opensymphony.xwork2.inject.ContainerImpl.inject(ContainerImpl.java:502) > > com.opensymphony.xwork2.inject.ContainerImpl$7.call(ContainerImpl.java:539) > > com.opensymphony.xwork2.inject.ContainerImpl.callInContext(ContainerImpl.java:593) > > com.opensymphony.xwork2.inject.ContainerImpl.inject(ContainerImpl.java:537) > > com.opensymphony.xwork2.config.impl.LocatableFactory.create(LocatableFactory.java:32) > > com.opensymphony.xwork2.inject.ContainerBuilder$4.create(ContainerBuilder.java:130) > com.opensymphony.xwork2.inject.Scope$2$1.create(Scope.java:51) > > com.opensymphony.xwork2.inject.ContainerImpl.getInstance(ContainerImpl.java:514) > > com.opensymphony.xwork2.inject.ContainerImpl.getInstance(ContainerImpl.java:524) > > com.opensymphony.xwork2.inject.ContainerImpl$9.call(ContainerImpl.java:555) > > com.opensymphony.xwork2.inject.ContainerImpl.callInContext(ContainerImpl.java:584) > > com.opensymphony.xwork2.inject.ContainerImpl.getInstance(ContainerImpl.java:553) > > org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:565) > > org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:81) > > org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:99) > > com.elitecore.nvsmx.system.filter.PortalSecurityFilter.doFilter(PortalSecurityFilter.java:61) > com.opensymphony.xwork2.inject.ContainerImpl$MissingDependencyException: No > mapping found for dependency > [type=com.opensymphony.xwork2.ActionProxyFactory, > name='struts.actionProxyFactory'] in public void > org.apache.struts2.impl.PrefixBasedActionProxyFactory.setActionProxyFactory(com.opensymphony.xwork2.ActionProxyFactory). > > com.opensymphony.xwork2.inject.ContainerImpl.createParameterInjector(ContainerImpl.java:239) > > com.opensymphony.xwork2.inject.ContainerImpl.getParametersInjectors(ContainerImpl.java:229) > > com.opensymphony.xwork2.inject.ContainerImpl$MethodInjector.<init>(ContainerImpl.java:293) > > com.opensymphony.xwork2.inject.ContainerImpl$3.create(ContainerImpl.java:117) > > com.opensymphony.xwork2.inject.ContainerImpl$3.create(ContainerImpl.java:114) > > com.opensymphony.xwork2.inject.ContainerImpl.addInjectorsForMembers(ContainerImpl.java:141) > > com.opensymphony.xwork2.inject.ContainerImpl.addInjectorsForMethods(ContainerImpl.java:113) > > com.opensymphony.xwork2.inject.ContainerImpl.addInjectors(ContainerImpl.java:90) > > com.opensymphony.xwork2.inject.ContainerImpl$1.create(ContainerImpl.java:71) > > com.opensymphony.xwork2.inject.ContainerImpl$1.create(ContainerImpl.java:67) > > com.opensymphony.xwork2.inject.util.ReferenceCache$CallableCreate.call(ReferenceCache.java:150) > java.util.concurrent.FutureTask.run(FutureTask.java:266) > > com.opensymphony.xwork2.inject.util.ReferenceCache.internalCreate(ReferenceCache.java:76) > > com.opensymphony.xwork2.inject.util.ReferenceCache.get(ReferenceCache.java:116) > > com.opensymphony.xwork2.inject.ContainerImpl$ConstructorInjector.<init>(ContainerImpl.java:356) > > com.opensymphony.xwork2.inject.ContainerImpl$5.create(ContainerImpl.java:311) > > com.opensymphony.xwork2.inject.ContainerImpl$5.create(ContainerImpl.java:307) > > com.opensymphony.xwork2.inject.util.ReferenceCache$CallableCreate.call(ReferenceCache.java:150) > java.util.concurrent.FutureTask.run(FutureTask.java:266) > > com.opensymphony.xwork2.inject.util.ReferenceCache.internalCreate(ReferenceCache.java:76) > > com.opensymphony.xwork2.inject.util.ReferenceCache.get(ReferenceCache.java:116) > > com.opensymphony.xwork2.inject.ContainerImpl.getConstructor(ContainerImpl.java:607) > > com.opensymphony.xwork2.inject.ContainerImpl.inject(ContainerImpl.java:498) > > com.opensymphony.xwork2.inject.ContainerImpl$7.call(ContainerImpl.java:539) > > com.opensymphony.xwork2.inject.ContainerImpl.callInContext(ContainerImpl.java:593) > > com.opensymphony.xwork2.inject.ContainerImpl.inject(ContainerImpl.java:537) > > com.opensymphony.xwork2.config.impl.LocatableFactory.create(LocatableFactory.java:32) > > com.opensymphony.xwork2.inject.ContainerBuilder$4.create(ContainerBuilder.java:130) > com.opensymphony.xwork2.inject.Scope$2$1.create(Scope.java:51) > > com.opensymphony.xwork2.inject.ContainerImpl.getInstance(ContainerImpl.java:514) > > com.opensymphony.xwork2.inject.ContainerImpl.getInstance(ContainerImpl.java:524) > > com.opensymphony.xwork2.inject.ContainerImpl$9.call(ContainerImpl.java:555) > > com.opensymphony.xwork2.inject.ContainerImpl.callInContext(ContainerImpl.java:584) > > com.opensymphony.xwork2.inject.ContainerImpl.getInstance(ContainerImpl.java:553) > > org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:565) > > org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:81) > > org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:99) > > com.elitecore.nvsmx.system.filter.PortalSecurityFilter.doFilter(PortalSecurityFilter.java:61) > {code} -- This message was sent by Atlassian JIRA (v6.4.14#64029)