Bug? xwork entry success returns: 404 - result 'null' not found

Sohel Katchi <[email protected]> Tue, 19 Dec 2006 15:37:44 CST
Newsgroups gmane.comp.java.open-symphony.webwork
Message-ID <31973831.1166564433007.JavaMail.os-j2ee@opensymphony01.managed.contegix.com>
I am developing some web pages with WebWork and I am running into a strange sporadic problem where I get an error :

HTTP Status 404 - result 'null' not found
--------------------------------------------------------------------------------
type: Status report
message: result 'null' not found
description: The requested resource (result 'null' not found) is not available.

My action is "PortfolioViewTradesSearch.action" and its SUCCESS entry returns the page "profile_management/portfolio_definition/view_trades.jsp"

The jsp is there, yet I still get the error.

Now the strange part.  If I just move the entry from the xwork.xml further down (after some other entries), deploy my application, it works fine.

This is becoming very troublesome as I have tons and tons of actions and I cannot sit there and test each action and its return page every time I deploy.

When I fix one action, another breaks, Its really not consistent. 

Did anyone come accross this problem?  I want to use this Framework in our production environment but this problem may stop me from doing so.


- the WW version 
  [b]2.2.4[/b]

- the xwork.xml
  
attached

- any exceptions with relevant stack traces
 cant find one in the logs

- a logging snippet on debug level and namespace 'com.opensymphony'

19 Dec 2006 15:35:29,941 DEBUG InstantiatingNullHandler: Entering nullPropertyValue [target=[com.opensymphony.xwork.DefaultTextProvider@c7e8a7], property=DefaultComponentManager]
19 Dec 2006 15:35:29,941 DEBUG InstantiatingNullHandler: Entering nullPropertyValue [target=[com.opensymphony.xwork.DefaultTextProvider@c7e8a7], property=webwork]
19 Dec 2006 15:35:29,941 DEBUG DefaultActionProxy: Creating an DefaultActionProxy for namespace / and action name PortfolioViewTradesSearch
19 Dec 2006 15:35:29,941 DEBUG I18nInterceptor: intercept '//PortfolioViewTradesSearch' { 
19 Dec 2006 15:35:29,941 DEBUG I18nInterceptor: requested_locale=null
19 Dec 2006 15:35:29,941 DEBUG I18nInterceptor: before Locale=en_US
19 Dec 2006 15:35:29,941 DEBUG InstantiatingNullHandler: Entering nullPropertyValue [target=[com.jpmorgan.gcrm.clive.profile.controller.ValuationPortfolioDefinitionAction@97d3f0, com.opensymphony.xwork.DefaultTextProvider@c7e8a7], property=webwork]
19 Dec 2006 15:35:29,941 DEBUG FileUploadInterceptor: Bypassing // PortfolioViewTradesSearch
19 Dec 2006 15:35:29,941 DEBUG StaticParametersInterceptor: Setting static parameters {}
19 Dec 2006 15:35:29,941 DEBUG ParametersInterceptor: Setting params counterPartyName => [  ] sourceSystem => [ MUREX ] sortBy1 => [ column 1 ] sourceTradeId => [  ] coastTradeId => [  ] _ => [  ] counterPartySPN => [  ] counterPartyUCN => [  ] sortBy3 => [ column 1 ] sortBy2 => [ column 1 ] sourceFeedName => [ FEED123 ] 
19 Dec 2006 15:35:29,941 DEBUG CompoundRootAccessor: No object in the CompoundRoot has a publicly accessible property named '_' (no setter could be found).
19 Dec 2006 15:35:29,941 DEBUG CompoundRootAccessor: No object in the CompoundRoot has a publicly accessible property named 'coastTradeId' (no setter could be found).
19 Dec 2006 15:35:29,941 DEBUG CompoundRootAccessor: No object in the CompoundRoot has a publicly accessible property named 'counterPartyName' (no setter could be found).
19 Dec 2006 15:35:29,941 DEBUG CompoundRootAccessor: No object in the CompoundRoot has a publicly accessible property named 'counterPartySPN' (no setter could be found).
19 Dec 2006 15:35:29,941 DEBUG CompoundRootAccessor: No object in the CompoundRoot has a publicly accessible property named 'counterPartyUCN' (no setter could be found).
19 Dec 2006 15:35:29,941 DEBUG CompoundRootAccessor: No object in the CompoundRoot has a publicly accessible property named 'sortBy1' (no setter could be found).
19 Dec 2006 15:35:29,941 DEBUG CompoundRootAccessor: No object in the CompoundRoot has a publicly accessible property named 'sortBy2' (no setter could be found).
19 Dec 2006 15:35:29,941 DEBUG CompoundRootAccessor: No object in the CompoundRoot has a publicly accessible property named 'sortBy3' (no setter could be found).
19 Dec 2006 15:35:29,941 DEBUG CompoundRootAccessor: No object in the CompoundRoot has a publicly accessible property named 'sourceFeedName' (no setter could be found).
19 Dec 2006 15:35:29,941 DEBUG CompoundRootAccessor: No object in the CompoundRoot has a publicly accessible property named 'sourceSystem' (no setter could be found).
19 Dec 2006 15:35:29,941 DEBUG CompoundRootAccessor: No object in the CompoundRoot has a publicly accessible property named 'sourceTradeId' (no setter could be found).
19 Dec 2006 15:35:29,941 DEBUG ValidationInterceptor: Validating //PortfolioViewTradesSearch with method doViewTradeSearch.
19 Dec 2006 15:35:29,941 DEBUG DefaultWorkflowInterceptor: Invoking validate() on action com.jpmorgan.gcrm.clive.profile.controller.ValuationPortfolioDefinitionAction@97d3f0
19 Dec 2006 15:35:29,941 DEBUG PrefixMethodInvocationUtil: cannot find method [validateDoViewTradeSearch] in action [com.jpmorgan.gcrm.clive.profile.controller.ValuationPortfolioDefinitionAction@97d3f0]
19 Dec 2006 15:35:29,941 DEBUG PrefixMethodInvocationUtil: cannot find method [validateDoDoViewTradeSearch] in action [com.jpmorgan.gcrm.clive.profile.controller.ValuationPortfolioDefinitionAction@97d3f0]
19 Dec 2006 15:35:29,941 DEBUG DefaultActionInvocation: Executing action method = doViewTradeSearch
19 Dec 2006 15:35:29,941 DEBUG ServletDispatcherResult: Forwarding to location null
19 Dec 2006 15:35:29,951 DEBUG I18nInterceptor: after Locale=en_US
19 Dec 2006 15:35:29,951 DEBUG I18nInterceptor: intercept } 

- the enviroment: Operating System, browser version, .. 
Using Tomcat 5.5
Windows XP SP1
IE 6.0
---------------------------------------------------------------------
Posted via Jive Forums
http://forums.opensymphony.com/thread.jspa?threadID=54380&messageID=108955#108955

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
xwork.xml (application/octet-stream, 1015 B)
<!DOCTYPE xwork PUBLIC "-//OpenSymphony Group//XWork 1.1.1//EN" "http://www.opensymphony.com/xwork/xwork-1.1.1.dtd">

<xwork>
    <include file="webwork-default.xml"/>
    <include file="config-browser.xml"/>

    <package name="default" extends="webwork-default">


        <interceptors>
            <interceptor-stack name="cliveDefaultStack">
                <!-- allows action classes to implement RequestAware and SessionAware which will give access to the Session Map object -->
                <interceptor-ref name="servlet-config"/>
                <interceptor-ref name="defaultStack"/>
            </interceptor-stack>
        </interceptors>

        <default-interceptor-ref name="cliveDefaultStack"/>

    </package>

    <!-- all action classes for Profile Management section defined in the following xml -->
    <include file="profile_management.xml" />
    <include file="data_maintenance.xml" />
    <include file="trade_management.xml"/>
    <include file="statement_management.xml"/>

</xwork>
profile_management.xml (application/octet-stream, 15.8 KB)
<!DOCTYPE xwork PUBLIC "-//OpenSymphony Group//XWork 1.1.1//EN" "http://www.opensymphony.com/xwork/xwork-1.1.1.dtd">
<xwork>

    <package name="profileManagement" extends="default">

        <action name="ValuationProfileSearch"
                class="com.jpmorgan.gcrm.clive.profile.controller.ValuationSearchAction"
                method="profileSearch">
            <result name="success" type="dispatcher">profile_management/valuation_profile_search.jsp</result>
            <result name="error" type="dispatcher">shared/error.jsp</result>
        </action>

        <action name="ValuationTradeSearch"
                class="com.jpmorgan.gcrm.clive.profile.controller.ValuationSearchAction"
                method="tradeSearch">
            <result name="success" type="dispatcher">profile_management/valuation_trade_search.jsp</result>
            <result name="error" type="dispatcher">shared/error.jsp</result>
        </action>

        <action name="ValuationDoSearch"
                class="com.jpmorgan.gcrm.clive.profile.controller.ValuationSearchAction"
                method="doSearch">
            <result name="success" type="dispatcher">profile_management/valuation_profile_search_results.jsp</result>
            <result name="error" type="dispatcher">shared/error.jsp</result>
        </action>

        <action name="ValuationProfileSetup"
                class="com.jpmorgan.gcrm.clive.profile.controller.ValuationProfileSetupAction">
            <result name="success" type="dispatcher">profile_management/profile_setup/valuation_profile_setup.jsp</result>
            <result name="error" type="dispatcher">shared/error.jsp</result>
        </action>

        <action name="ValuationProfileNameSearch"
                class="com.jpmorgan.gcrm.clive.profile.controller.ValuationSearchAction"
                method="counterpartyNameSearch">
            <result name="success" type="dispatcher">profile_management/search_valuation_cp_list.html</result>
            <result name="error" type="dispatcher">shared/error.jsp</result>
        </action>

        <action name="ValuationProfileUcnSearch"
                class="com.jpmorgan.gcrm.clive.profile.controller.ValuationSearchAction"
                method="counterpartyUcnSearch">
            <result name="success" type="dispatcher">profile_management/search_valuation_cp_list.html</result>
            <result name="error" type="dispatcher">shared/error.jsp</result>
        </action>

        <action name="ValuationProfileSpnSearch"
                class="com.jpmorgan.gcrm.clive.profile.controller.ValuationSearchAction"
                method="counterpartySpnSearch">
            <result name="success" type="dispatcher">profile_management/search_valuation_cp_list.html</result>
            <result name="error" type="dispatcher">shared/error.jsp</result>
        </action>

        <action name="PortfolioDefinition"
                class="com.jpmorgan.gcrm.clive.profile.controller.ValuationPortfolioDefinitionAction">
            <result name="success" type="dispatcher">profile_management/portfolio_definition/portfolio_definition.jsp</result>
            <result name="error" type="dispatcher">shared/error.jsp</result>
        </action>

        <action name="PortfolioProducts"
                class="com.jpmorgan.gcrm.clive.profile.controller.ValuationPortfolioDefinitionAction"
                method="doProducts">
            <result name="success" type="dispatcher">profile_management/portfolio_definition/products.jsp</result>
            <result name="error" type="dispatcher">shared/error.jsp</result>
        </action>

        <action name="PortfolioTradeExclusion"
                class="com.jpmorgan.gcrm.clive.profile.controller.ValuationPortfolioDefinitionAction"
                method="doTradeExclusion">
            <result name="success" type="dispatcher">profile_management/portfolio_definition/trade_exclusion.jsp</result>
            <result name="error" type="dispatcher">shared/error.jsp</result>
        </action>

        <action name="PortfolioTradeExclusionSearch"
                class="com.jpmorgan.gcrm.clive.profile.controller.ValuationPortfolioDefinitionAction"
                method="doTradeExclusionSearch">
            <result name="success" type="dispatcher">profile_management/portfolio_definition/trade_search_results.jsp</result>
            <result name="error" type="dispatcher">shared/error.jsp</result>
        </action>

        <action name="PortfolioTradeExclusionNameSearch"
                class="com.jpmorgan.gcrm.clive.profile.controller.ValuationPortfolioDefinitionAction"
                method="counterpartyNameSearch">
            <result name="success" type="dispatcher">profile_management/search_valuation_cp_list.html</result>
            <result name="error" type="dispatcher">shared/error.jsp</result>
        </action>

        <action name="PortfolioTradeExclusionUcnSearch"
                class="com.jpmorgan.gcrm.clive.profile.controller.ValuationPortfolioDefinitionAction"
                method="counterpartyUcnSearch">
            <result name="success" type="dispatcher">profile_management/search_valuation_cp_list.html</result>
            <result name="error" type="dispatcher">shared/error.jsp</result>
        </action>

        <action name="PortfolioTradeExclusionSpnSearch"
                class="com.jpmorgan.gcrm.clive.profile.controller.ValuationPortfolioDefinitionAction"
                method="counterpartySpnSearch">
            <result name="success" type="dispatcher">profile_management/search_valuation_cp_list.html</result>
            <result name="error" type="dispatcher">shared/error.jsp</result>
        </action>


        <action name="PortfolioTradeInclusion"
                class="com.jpmorgan.gcrm.clive.profile.controller.ValuationPortfolioDefinitionAction"
                method="doTradeInclusion">
            <result name="success" type="dispatcher">profile_management/portfolio_definition/trade_inclusion.jsp</result>
            <result name="error" type="dispatcher">shared/error.jsp</result>
        </action>

        <action name="PortfolioTradeInclusionSearch"
                class="com.jpmorgan.gcrm.clive.profile.controller.ValuationPortfolioDefinitionAction"
                method="doTradeInclusionSearch">
            <result name="success" type="dispatcher">profile_management/portfolio_definition/trade_search_results.jsp</result>
            <result name="error" type="dispatcher">shared/error.jsp</result>
        </action>

        <action name="PortfolioTradeInclusionNameSearch"
                class="com.jpmorgan.gcrm.clive.profile.controller.ValuationPortfolioDefinitionAction"
                method="counterpartyNameSearch">
            <result name="success" type="dispatcher">profile_management/search_valuation_cp_list.html</result>
            <result name="error" type="dispatcher">shared/error.jsp</result>
        </action>

        <action name="PortfolioTradeInclusionNameSearch"
                class="com.jpmorgan.gcrm.clive.profile.controller.ValuationPortfolioDefinitionAction"
                method="counterpartyNameSearch">
            <result name="success" type="dispatcher">profile_management/search_valuation_cp_list.html</result>
            <result name="error" type="dispatcher">shared/error.jsp</result>
        </action>

        <action name="PortfolioTradeInclusionNameSearch"
                class="com.jpmorgan.gcrm.clive.profile.controller.ValuationPortfolioDefinitionAction"
                method="counterpartyNameSearch">
            <result name="success" type="dispatcher">profile_management/search_valuation_cp_list.html</result>
            <result name="error" type="dispatcher">shared/error.jsp</result>
        </action>

        <action name="PortfolioViewTradesSearch"
                class="com.jpmorgan.gcrm.clive.profile.controller.ValuationPortfolioDefinitionAction"
                method="doViewTradeSearch">
            <result name="success" type="dispatcher">profile_management/portfolio_definition/trade_search_results.jsp</result>
            <result name="error" type="dispatcher">shared/error.jsp</result>
        </action>

        <action name="PortfolioViewTrades"
                class="com.jpmorgan.gcrm.clive.profile.controller.ValuationPortfolioDefinitionAction"
                method="doViewTrades">
            <result name="success" type="dispatcher">profile_management/portfolio_definition/view_trades.jsp</result>
            <result name="error" type="dispatcher">shared/error.jsp</result>
        </action>

        <action name="ValuationDistribution"
                class="com.jpmorgan.gcrm.clive.profile.controller.ValuationDistributionAction">
            <result name="success" type="dispatcher">profile_management/distribution/distribution.jsp</result>
            <result name="error" type="dispatcher">shared/error.jsp</result>
        </action>

        <action name="ValuationDistributionContactSearch"
                class="com.jpmorgan.gcrm.clive.profile.controller.ValuationDistributionAction"
                method="contactSearch">
            <result name="success" type="dispatcher">profile_management/distribution/contact_search_results.jsp</result>
            <result name="error" type="dispatcher">shared/error.jsp</result>
        </action>

        <action name="ValuationDistributionAddContacts"
                class="com.jpmorgan.gcrm.clive.profile.controller.ValuationDistributionAction"
                method="addContacts">
            <result name="success" type="dispatcher">profile_management/distribution/contact_assignments.jsp</result>
            <result name="error" type="dispatcher">shared/error.jsp</result>
        </action>

        <action name="ValuationDistributionRemoveContacts"
                class="com.jpmorgan.gcrm.clive.profile.controller.ValuationDistributionAction"
                method="removeContacts">
            <result name="success" type="dispatcher">profile_management/distribution/contact_assignments.jsp</result>
            <result name="error" type="dispatcher">shared/error.jsp</result>
        </action>

        <action name="DiarySetup"
                class="com.jpmorgan.gcrm.clive.profile.controller.DiaryAction">
            <result name="success" type="dispatcher">profile_management/diary/diary.jsp</result>
            <result name="error" type="dispatcher">shared/error.jsp</result>
        </action>

        <action name="DiaryRule"
                class="com.jpmorgan.gcrm.clive.profile.controller.DiaryAction"
                method="loadRule">
            <result name="daily" type="dispatcher">/profile_management/diary/daily_setup.jsp</result>
            <result name="weekly" type="dispatcher">/profile_management/diary/weekly_setup.jsp</result>
            <result name="bi-weekly" type="dispatcher">/profile_management/diary/biweekly_setup.jsp</result>
            <result name="specified_date" type="dispatcher">/profile_management/diary/specified_date_setup.jsp</result>
            <result name="start_of_month" type="dispatcher">/profile_management/diary/start_of_month_setup.jsp</result>
            <result name="end_of_month" type="dispatcher">/profile_management/diary/end_of_month_setup.jsp</result>
            <result name="non-standard" type="dispatcher">/profile_management/diary/non_standard_setup.jsp</result>
            <result name="error" type="dispatcher">shared/error.jsp</result>
        </action>

        <action name="DiarySetupAddWeekly"
                class="com.jpmorgan.gcrm.clive.profile.controller.DiaryAction"
                method="addWeekly">            
            <result name="success" type="dispatcher">profile_management/diary/message.jsp</result>
            <result name="error" type="dispatcher">shared/error.jsp</result>
        </action>
        
        <action name="DiarySetupAddDaily"
                class="com.jpmorgan.gcrm.clive.profile.controller.DiaryAction"
                method="addDaily">
            <result name="success" type="dispatcher">profile_management/diary/message.jsp</result>
            <result name="error" type="dispatcher">shared/error.jsp</result>
        </action>


        <action name="DiarySetupAddBiWeekly"
                class="com.jpmorgan.gcrm.clive.profile.controller.DiaryAction"
                method="addBiWeekly">
            <result name="success" type="dispatcher">profile_management/diary/message.jsp</result>
            <result name="error" type="dispatcher">shared/error.jsp</result>
        </action>

        <action name="DiarySetupAddSpecifiedDate"
                class="com.jpmorgan.gcrm.clive.profile.controller.DiaryAction"
                method="addSpecifiedDate">
            <result name="success" type="dispatcher">profile_management/diary/message.jsp</result>
            <result name="error" type="dispatcher">shared/error.jsp</result>
        </action>

        <action name="DiarySetupAddStartOfMonth"
                class="com.jpmorgan.gcrm.clive.profile.controller.DiaryAction"
                method="addStartOfDate">
            <result name="success" type="dispatcher">profile_management/diary/message.jsp</result>
            <result name="error" type="dispatcher">shared/error.jsp</result>
        </action>

        <action name="DiarySetupAddEndOfMonth"
                class="com.jpmorgan.gcrm.clive.profile.controller.DiaryAction"
                method="addEndOfDate">
            <result name="success" type="dispatcher">profile_management/diary/message.jsp</result>
            <result name="error" type="dispatcher">shared/error.jsp</result>
        </action>

        <action name="DiarySetupAddNonStandardRule"
                class="com.jpmorgan.gcrm.clive.profile.controller.DiaryAction"
                method="addNonStandardRule">
            <result name="success" type="dispatcher">profile_management/diary/message.jsp</result>
            <result name="error" type="dispatcher">shared/error.jsp</result>
        </action>

        <action name="DiarySetupRemoveRule"
                class="com.jpmorgan.gcrm.clive.profile.controller.DiaryAction"
                method="removeRule">
            <result name="success" type="dispatcher">profile_management/diary/assigned_diary_rules.jsp</result>
            <result name="error" type="dispatcher">shared/error.jsp</result>
        </action>

        <!--
        <action name="Test"
                class="com.jpmorgan.gcrm.clive.hibernate.TestAction">
            <external-ref name="valuationProfileDao" required="true">valuationProfileDao</external-ref>
            <result name="success" type="dispatcher">test.jsp</result>
            <result name="error" type="dispatcher">shared/error.jsp</result>
        </action>
        -->

        <action name="DiarySetupGetAssignedRules"
                class="com.jpmorgan.gcrm.clive.profile.controller.DiaryAction"
                method="getAssignedRules">
            <result name="success" type="dispatcher">profile_management/diary/assigned_diary_rules.jsp</result>
            <result name="error" type="dispatcher">shared/error.jsp</result>
        </action>

        <action name="PolicyException"
                class="com.jpmorgan.gcrm.clive.profile.controller.PolicyExceptionAction">
            <result name="success" type="dispatcher">profile_management/policy_exception/policy_exception.jsp</result>
            <result name="error" type="dispatcher">shared/error.jsp</result>
        </action>

        <action name="PolicyExceptionPerform"
                class="com.jpmorgan.gcrm.clive.profile.controller.PolicyExceptionAction"
                method="performAction">
            <result name="high_risk" type="dispatcher">profile_management/policy_exception/high_risk_selected.jsp</result>
            <result name="low_risk" type="dispatcher">profile_management/policy_exception/low_risk_selected.jsp</result>
            <result name="success" type="dispatcher">profile_management/policy_exception/policy_exception.jsp</result>
            <result name="error" type="dispatcher">shared/error.jsp</result>
        </action>        
        
    </package>
</xwork>