Jazz Forum Welcome to the Jazz Community Forum Connect and collaborate with IBM Engineering experts and users

HTTP 500 error when executing custom value provider

I've written my own value provider in JavaScript however I'm encountering the following error when I try and trigger the provider:

2012-02-14 14:44:31,704 [         http-9443-Processor13] ERROR net.jazz.ajax.servlets.JavascriptServlet            - GET https://localhost:9443/ccm/web/_js/

?exclude=A~C~D~E~F~G~H~I~J~K~L~M~N~O~P&include=com.mycompany.workitem.provider.RiskScoreProvider.js&_proxyURL=%2Fccm&locale=en-gbHEADER: host = localhost:9443
HEADER: connection = keep-alive
HEADER: x-requested-with = XMLHttpRequest
HEADER: user-agent = Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.77 Safari/535.7
HEADER: content-type = application/x-www-form-urlencoded
HEADER: accept = text/javascript
HEADER: referer = https://localhost:9443/ccm/web/projects/Test2
HEADER: accept-encoding = gzip,deflate,sdch
HEADER: accept-language = en-GB,en-US;q=0.8,en;q=0.6
HEADER: accept-charset = ISO-8859-1,utf-8;q=0.7,*;q=0.3
HEADER: cookie = SaveStateCookie=undefined; JSESSIONID=083...F2E; JazzFormAuth=Form; net-jazz-ajax-cookie-rememberUserId=; JSESSIONIDSSO=7F9...8DB
Parameter: include = [com.mycompany.workitem.provider.RiskScoreProvider.js]
Parameter: _proxyURL = [/ccm]
Parameter: exclude = [A~C~D~E~F~G~H~I~J~K~L~M~N~O~P]
Parameter: locale = [en-gb]

java.lang.IllegalArgumentException: Resource does not exist: com.mycompany.workitem.provider.RiskScoreProvider.js
at net.jazz.ajax.model.Resource.resolve(Resource.java:193)
at net.jazz.ajax.model.Resource.resolveAll(Resource.java:206)
at net.jazz.ajax.servlets.AbstractResourceServlet.createOperation(AbstractResourceServlet.java:37)
at net.jazz.ajax.servlets.AbstractResourceServlet.doGet(AbstractResourceServlet.java:47)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:627)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
at net.jazz.ajax.servlets.LoggingHttpServlet.service(LoggingHttpServlet.java:34)
at org.eclipse.equinox.http.servlet.internal.ServletRegistration.handleRequest(ServletRegistration.java:90)
at org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:111)
at org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:67)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
at org.eclipse.equinox.servletbridge.BridgeServlet.service(BridgeServlet.java:120)
at com.ibm.team.repository.server.servletbridge.JazzServlet.service(JazzServlet.java:76)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:563)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.java:420)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:879)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
at java.lang.Thread.run(Thread.java:811)


A quick google suggested that this could be because the Enable Process Attachment Scripts setting was false, and indeed it was, however after enabling it and restarting the server I'm still seeing the same error.

I've tried this on two different servers and am seeing the same results on each, so I'm likely doing something fundamentally wrong; any suggestions?

Edit: I've done some more testing and this error only seems to appear when the attribute I'm calculating has a dependency on another attribute. A standalone script that's just calculating a single value seems to work without issue.

0 votes



10 answers

Permanent link
  Hello Olga,
if your plug-in is deployed as a separate JAR, you may want to ensure it's installed and active.
To achieve this:
1 - edit your JAR's plugin.xml
2 - add the following:
   </extension>
       <extension
         point="com.ibm.team.jazz.foundation.server.patch">
     <patch 
           version="myVersion" 
           name="my superb extension" 
           buildId="someBuildId" 
           id="package.name.your.extension"
           productId="com.ibm.team.rtc.web.product">
      </patch>
   </extension>
(adapt content to your context)

3 - save your changes
4 - put your JAR in the <JazzServer install location>\server\conf\ccm\sites\rtc-commons-update-site\plugins directory
5 - https://<server_name>:<port_number>/ccm/admin/cmd/requestReset 
6 - restart your server
7 - go to https://<server name>:<server port>/ccm/admin#action=com.ibm.team.repository.admin.serverStatus
--> you should see your extension listed

1 vote

Comments

Eric, can you elaborate more on what the extension point does?

 Hello Ralph,

this is the extension we use when providing Hotfixes,
so as to ensure hotfix is visible on the Admin WebUI page (and assert HF is installed)
ex:

Very useful, thanks so much for sharing Eric. As a side note for others, you can also monitor your component and provision status by inserting ?internal=true into your web URL for the application management link. This reveals internal tolls to look at the provision status and the component status. If you use a good namespace e.g. com.my.extensions you can quickly check what is deployed.



Permanent link
I've written my own value provider in JavaScript however I'm encountering the following error when I try and trigger the provider:

2012-02-14 14&#58;44&#58;31,704 &#91;         http-9443-Processor13&#93; ERROR net.jazz.ajax.servlets.JavascriptServlet            - GET https&#58;//localhost&#58;9443/ccm/web/_js/

?exclude=A~C~D~E~F~G~H~I~J~K~L~M~N~O~P&amp;include=com.mycompany.workitem.provider.RiskScoreProvider.js&amp;_proxyURL=%2Fccm&amp;locale=en-gbHEADER&#58; host = localhost&#58;9443
HEADER&#58; connection = keep-alive
HEADER&#58; x-requested-with = XMLHttpRequest
HEADER&#58; user-agent = Mozilla/5.0 &#40;Windows NT 6.1; WOW64&#41; AppleWebKit/535.7 &#40;KHTML, like Gecko&#41; Chrome/16.0.912.77 Safari/535.7
HEADER&#58; content-type = application/x-www-form-urlencoded
HEADER&#58; accept = text/javascript
HEADER&#58; referer = https&#58;//localhost&#58;9443/ccm/web/projects/Test2
HEADER&#58; accept-encoding = gzip,deflate,sdch
HEADER&#58; accept-language = en-GB,en-US;q=0.8,en;q=0.6
HEADER&#58; accept-charset = ISO-8859-1,utf-8;q=0.7,*;q=0.3
HEADER&#58; cookie = SaveStateCookie=undefined; JSESSIONID=083...F2E; JazzFormAuth=Form; net-jazz-ajax-cookie-rememberUserId=; JSESSIONIDSSO=7F9...8DB
Parameter&#58; include = &#91;com.mycompany.workitem.provider.RiskScoreProvider.js&#93;
Parameter&#58; _proxyURL = &#91;/ccm&#93;
Parameter&#58; exclude = &#91;A~C~D~E~F~G~H~I~J~K~L~M~N~O~P&#93;
Parameter&#58; locale = &#91;en-gb&#93;

java.lang.IllegalArgumentException&#58; Resource does not exist&#58; com.mycompany.workitem.provider.RiskScoreProvider.js
at net.jazz.ajax.model.Resource.resolve&#40;Resource.java&#58;193&#41;
at net.jazz.ajax.model.Resource.resolveAll&#40;Resource.java&#58;206&#41;
at net.jazz.ajax.servlets.AbstractResourceServlet.createOperation&#40;AbstractResourceServlet.java&#58;37&#41;
at net.jazz.ajax.servlets.AbstractResourceServlet.doGet&#40;AbstractResourceServlet.java&#58;47&#41;
at javax.servlet.http.HttpServlet.service&#40;HttpServlet.java&#58;627&#41;
at javax.servlet.http.HttpServlet.service&#40;HttpServlet.java&#58;729&#41;
at net.jazz.ajax.servlets.LoggingHttpServlet.service&#40;LoggingHttpServlet.java&#58;34&#41;
at org.eclipse.equinox.http.servlet.internal.ServletRegistration.handleRequest&#40;ServletRegistration.java&#58;90&#41;
at org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias&#40;ProxyServlet.java&#58;111&#41;
at org.eclipse.equinox.http.servlet.internal.ProxyServlet.service&#40;ProxyServlet.java&#58;67&#41;
at javax.servlet.http.HttpServlet.service&#40;HttpServlet.java&#58;729&#41;
at org.eclipse.equinox.servletbridge.BridgeServlet.service&#40;BridgeServlet.java&#58;120&#41;
at com.ibm.team.repository.server.servletbridge.JazzServlet.service&#40;JazzServlet.java&#58;76&#41;
at javax.servlet.http.HttpServlet.service&#40;HttpServlet.java&#58;729&#41;
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter&#40;ApplicationFilterChain.java&#58;269&#41;
at org.apache.catalina.core.ApplicationFilterChain.doFilter&#40;ApplicationFilterChain.java&#58;188&#41;
at org.apache.catalina.core.StandardWrapperValve.invoke&#40;StandardWrapperValve.java&#58;213&#41;
at org.apache.catalina.core.StandardContextValve.invoke&#40;StandardContextValve.java&#58;172&#41;
at org.apache.catalina.authenticator.AuthenticatorBase.invoke&#40;AuthenticatorBase.java&#58;563&#41;
at org.apache.catalina.core.StandardHostValve.invoke&#40;StandardHostValve.java&#58;127&#41;
at org.apache.catalina.valves.ErrorReportValve.invoke&#40;ErrorReportValve.java&#58;117&#41;
at org.apache.catalina.authenticator.SingleSignOn.invoke&#40;SingleSignOn.java&#58;420&#41;
at org.apache.catalina.core.StandardEngineValve.invoke&#40;StandardEngineValve.java&#58;108&#41;
at org.apache.catalina.connector.CoyoteAdapter.service&#40;CoyoteAdapter.java&#58;174&#41;
at org.apache.coyote.http11.Http11Processor.process&#40;Http11Processor.java&#58;879&#41;
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection&#40;Http11BaseProtocol.java&#58;665&#41;
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket&#40;PoolTcpEndpoint.java&#58;528&#41;
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt&#40;LeaderFollowerWorkerThread.java&#58;81&#41;
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run&#40;ThreadPool.java&#58;689&#41;
at java.lang.Thread.run&#40;Thread.java&#58;811&#41;


A quick google suggested that this could be because the Enable Process Attachment Scripts setting was false, and indeed it was, however after enabling it and restarting the server I'm still seeing the same error.

I've tried this on two different servers and am seeing the same results on each, so I'm likely doing something fundamentally wrong; any suggestions?

Edit: I've done some more testing and this error only seems to appear when the attribute I'm calculating has a dependency on another attribute. A standalone script that's just calculating a single value seems to work without issue.


I've had exactly the same problem, &amp; after pulling out lots of hair, I think I've figured it out. I had a single case working OK, then it broke when I added a second custom value provider &amp; script. I had copied the existing script, changed it as needed, then attached it to the new provider. After hitting save &amp; testing the UI again, I noticed it was calling the original script I had just duplicated.

Something internal seems to remember &amp; reference the prior Class name, and even if you upload new/different scripts with different names, they will be ignored and the original script will be pointed at. I then started getting the HTTP 500 errors after purging the original script in my effort to clean/fix things.

My resolution was to upload a completely new script with a new unique class name. Everything seems to work OK then. I think even changing the prior script to a different class name does not work correctly.

I have no clue if this is a bug or working as intended, but if having duplicate class names is such a problem, it would be nice to get some warning when you first attempt the save/upload. I've lost 2 days trying to figure this out... :(

Edit: After straightening out the class names earlier, I found later that I had also copied in an incorrect script (I copied a DefaultValueProvider script into a ValueProvider script). This also resulted in an HTTP 500 when the calling script failed to find a getValue method (you can see this in firebug). I now have multiple custom attributes, all dependent on other custom values, all calculating OK via multiple scripts. Hurray :)

0 votes


Permanent link
I tried what you suggested and renamed &amp; re-uploaded the JS class but unfortunately I still have the same issue.

I'm leaning towards this being something to do with the configuration of the project I'm using as I tried uploading to a newly created project based on the Scrum template and it worked with no issues.


I've written my own value provider in JavaScript however I'm encountering the following error when I try and trigger the provider:

2012-02-14 14&#58;44&#58;31,704 &#91;         http-9443-Processor13&#93; ERROR net.jazz.ajax.servlets.JavascriptServlet            - GET https&#58;//localhost&#58;9443/ccm/web/_js/

?exclude=A~C~D~E~F~G~H~I~J~K~L~M~N~O~P&amp;include=com.mycompany.workitem.provider.RiskScoreProvider.js&amp;_proxyURL=%2Fccm&amp;locale=en-gbHEADER&#58; host = localhost&#58;9443
HEADER&#58; connection = keep-alive
HEADER&#58; x-requested-with = XMLHttpRequest
HEADER&#58; user-agent = Mozilla/5.0 &#40;Windows NT 6.1; WOW64&#41; AppleWebKit/535.7 &#40;KHTML, like Gecko&#41; Chrome/16.0.912.77 Safari/535.7
HEADER&#58; content-type = application/x-www-form-urlencoded
HEADER&#58; accept = text/javascript
HEADER&#58; referer = https&#58;//localhost&#58;9443/ccm/web/projects/Test2
HEADER&#58; accept-encoding = gzip,deflate,sdch
HEADER&#58; accept-language = en-GB,en-US;q=0.8,en;q=0.6
HEADER&#58; accept-charset = ISO-8859-1,utf-8;q=0.7,*;q=0.3
HEADER&#58; cookie = SaveStateCookie=undefined; JSESSIONID=083...F2E; JazzFormAuth=Form; net-jazz-ajax-cookie-rememberUserId=; JSESSIONIDSSO=7F9...8DB
Parameter&#58; include = &#91;com.mycompany.workitem.provider.RiskScoreProvider.js&#93;
Parameter&#58; _proxyURL = &#91;/ccm&#93;
Parameter&#58; exclude = &#91;A~C~D~E~F~G~H~I~J~K~L~M~N~O~P&#93;
Parameter&#58; locale = &#91;en-gb&#93;

java.lang.IllegalArgumentException&#58; Resource does not exist&#58; com.mycompany.workitem.provider.RiskScoreProvider.js
at net.jazz.ajax.model.Resource.resolve&#40;Resource.java&#58;193&#41;
at net.jazz.ajax.model.Resource.resolveAll&#40;Resource.java&#58;206&#41;
at net.jazz.ajax.servlets.AbstractResourceServlet.createOperation&#40;AbstractResourceServlet.java&#58;37&#41;
at net.jazz.ajax.servlets.AbstractResourceServlet.doGet&#40;AbstractResourceServlet.java&#58;47&#41;
at javax.servlet.http.HttpServlet.service&#40;HttpServlet.java&#58;627&#41;
at javax.servlet.http.HttpServlet.service&#40;HttpServlet.java&#58;729&#41;
at net.jazz.ajax.servlets.LoggingHttpServlet.service&#40;LoggingHttpServlet.java&#58;34&#41;
at org.eclipse.equinox.http.servlet.internal.ServletRegistration.handleRequest&#40;ServletRegistration.java&#58;90&#41;
at org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias&#40;ProxyServlet.java&#58;111&#41;
at org.eclipse.equinox.http.servlet.internal.ProxyServlet.service&#40;ProxyServlet.java&#58;67&#41;
at javax.servlet.http.HttpServlet.service&#40;HttpServlet.java&#58;729&#41;
at org.eclipse.equinox.servletbridge.BridgeServlet.service&#40;BridgeServlet.java&#58;120&#41;
at com.ibm.team.repository.server.servletbridge.JazzServlet.service&#40;JazzServlet.java&#58;76&#41;
at javax.servlet.http.HttpServlet.service&#40;HttpServlet.java&#58;729&#41;
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter&#40;ApplicationFilterChain.java&#58;269&#41;
at org.apache.catalina.core.ApplicationFilterChain.doFilter&#40;ApplicationFilterChain.java&#58;188&#41;
at org.apache.catalina.core.StandardWrapperValve.invoke&#40;StandardWrapperValve.java&#58;213&#41;
at org.apache.catalina.core.StandardContextValve.invoke&#40;StandardContextValve.java&#58;172&#41;
at org.apache.catalina.authenticator.AuthenticatorBase.invoke&#40;AuthenticatorBase.java&#58;563&#41;
at org.apache.catalina.core.StandardHostValve.invoke&#40;StandardHostValve.java&#58;127&#41;
at org.apache.catalina.valves.ErrorReportValve.invoke&#40;ErrorReportValve.java&#58;117&#41;
at org.apache.catalina.authenticator.SingleSignOn.invoke&#40;SingleSignOn.java&#58;420&#41;
at org.apache.catalina.core.StandardEngineValve.invoke&#40;StandardEngineValve.java&#58;108&#41;
at org.apache.catalina.connector.CoyoteAdapter.service&#40;CoyoteAdapter.java&#58;174&#41;
at org.apache.coyote.http11.Http11Processor.process&#40;Http11Processor.java&#58;879&#41;
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection&#40;Http11BaseProtocol.java&#58;665&#41;
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket&#40;PoolTcpEndpoint.java&#58;528&#41;
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt&#40;LeaderFollowerWorkerThread.java&#58;81&#41;
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run&#40;ThreadPool.java&#58;689&#41;
at java.lang.Thread.run&#40;Thread.java&#58;811&#41;


A quick google suggested that this could be because the Enable Process Attachment Scripts setting was false, and indeed it was, however after enabling it and restarting the server I'm still seeing the same error.

I've tried this on two different servers and am seeing the same results on each, so I'm likely doing something fundamentally wrong; any suggestions?

Edit: I've done some more testing and this error only seems to appear when the attribute I'm calculating has a dependency on another attribute. A standalone script that's just calculating a single value seems to work without issue.


I've had exactly the same problem, &amp; after pulling out lots of hair, I think I've figured it out. I had a single case working OK, then it broke when I added a second custom value provider &amp; script. I had copied the existing script, changed it as needed, then attached it to the new provider. After hitting save &amp; testing the UI again, I noticed it was calling the original script I had just duplicated.

Something internal seems to remember &amp; reference the prior Class name, and even if you upload new/different scripts with different names, they will be ignored and the original script will be pointed at. I then started getting the HTTP 500 errors after purging the original script in my effort to clean/fix things.

My resolution was to upload a completely new script with a new unique class name. Everything seems to work OK then. I think even changing the prior script to a different class name does not work correctly.

I have no clue if this is a bug or working as intended, but if having duplicate class names is such a problem, it would be nice to get some warning when you first attempt the save/upload. I've lost 2 days trying to figure this out... :(

Edit: After straightening out the class names earlier, I found later that I had also copied in an incorrect script (I copied a DefaultValueProvider script into a ValueProvider script). This also resulted in an HTTP 500 when the calling script failed to find a getValue method (you can see this in firebug). I now have multiple custom attributes, all dependent on other custom values, all calculating OK via multiple scripts. Hurray :)

0 votes


Permanent link
Hi Jared,

I read your thread because I'm currently facing the same problems with a custom value provider. I also tried a lot of things like deleting the script, deleting attributes, create a new script, and so on but nothing really works. Did you find any way to solve the problem or did you stop looking for a solution?

Is there anybody out in the community with the same problems and found the reason for it?

We are still using RTC 3.0.1.2 on Windows 2008 R2 with MS SQL Server 2008, but I also recognized the problem on RedHat Linux so it's a platform independent issue.

I'm also with Jared that the issue must be a problem within the project area because the scripting works without any problems in other project areas on the same server.

Regards
Matthias

0 votes


Permanent link
Hello,
the error states : 
java.lang.IllegalArgumentException: Resource does not exist: com.mycompany.workitem.provider.RiskScoreProvider.js

which basically means that the referenced JavaScript is not found.

This is common when either:
- JavaScript processing is not enabled at server level (which is the default)
- your project area - and especially the custom value provider you declared - is not in sync with what is deployed on the server.

--> reloading the file to the server should fix the issue


Thanks

0 votes

Comments

Hi Eric,

The JavaScript processing is enabled on the server. And when the script is executed in the Eclipse Client it works as expected, which means the attribute value is set correctly in that environment. We're only facing the problem in the web environment.

Many thanks
Matthias


Permanent link
Hello Matthias,
well - possibly you may want to use Firebug and/or IE embedded developer tools to investigate this error further.

Without the PA source and associated Javascript, there is not much I could do here.
You may want to open a public work item or a PMR - https://jazz.net/help/support/

Let me know.
Thanks

0 votes

Comments

Hi Eric,

Thanks for your reply. I've already issued a PMR concerning this case. Attached to this PMR is the PA source, the script source and the log files from our system.

Anyway, I replied to this post because it describes a similar problem and I hoped to get a solution here.

Please let me know if you're interested in the PMR number.

Regards
Matthias

Hello Matthias,
though I may not investigate the PMR, I will check the status and possibly ping the owner.
Thanks
Eric.


Permanent link
We have finally fixed the issue.

There were a couple of scripts attached to the project area
Matthias removed all the scripts and upload the script once again
that solved the problem

0 votes


Permanent link
Hi Eric,

I have similar problem... After plugin deployment & server reboot, web continue same behavior as without plugin, but in ccm.log I found that plugin alive & try run...

**The JavaScript processing is enabled on the server.

2013-05-22 13:00:30,283 [          http-bio-9443-exec-8] ERROR net.jazz.ajax.servlets.StyleSheetServlet            - GET https://localhost:9443/ccm/web/_style/
?exclude=A~B~C~D~E~F~G~H~I~J~K~L~M~N~O~P~Q~R~S~T~U~V~W~X~Y~Z~a&include=com.ibm.team.apt.web.ui.internal.parts.EstimateAndCorrectionAttributePart.js~com.ibm.team.apt.web.ui.internal.parts.TimeSpentAttributePart.js~com.ibm.team.social.web.ui.internal.actions.WorkItemToActivityAction.js~com.ibm.team.social.web.ui.internal.actions.WorkItemToSocialNetworkAction.js~com.ibm.team.workitem.web.ui.internal.view.editor.PrintWorkItemAction.js~com.ibm.team.workitem.web.ui2.internal.presentation.Target.js~rb.jazz.workitem.toolbar.actions.ui.LinkedDefectEditorToolbarAction.js&ss=CQIIE&_proxyURL=%2Fccm&locale=en-usHEADER: host = localhost:9443
HEADER: user-agent = Mozilla/5.0 (Windows NT 6.1; WOW64; rv:20.0) Gecko/20100101 Firefox/20.0
HEADER: accept = text/css,*/*;q=0.1
HEADER: accept-language = en-US,en;q=0.5
HEADER: accept-encoding = gzip, deflate
HEADER: referer = https://localhost:9443/ccm/web/projects/OLGA
HEADER: cookie = JSESSIONID=BC0...628; net-jazz-ajax-cookie-rememberUserId=wasadmin; JSESSIONIDSSO=3E1...D7C
HEADER: connection = keep-alive
Parameter: ss = [CQIIE]
Parameter: _proxyURL = [/ccm]
Parameter: include = [com.ibm.team.apt.web.ui.internal.parts.EstimateAndCorrectionAttributePart.js~com.ibm.team.apt.web.ui.internal.parts.TimeSpentAttributePart.js~com.ibm.team.social.web.ui.internal.actions.WorkItemToActivityAction.js~com.ibm.team.social.web.ui.internal.actions.WorkItemToSocialNetworkAction.js~com.ibm.team.workitem.web.ui.internal.view.editor.PrintWorkItemAction.js~com.ibm.team.workitem.web.ui2.internal.presentation.Target.js~rb.jazz.workitem.toolbar.actions.ui.LinkedDefectEditorToolbarAction.js]
Parameter: exclude = [A~B~C~D~E~F~G~H~I~J~K~L~M~N~O~P~Q~R~S~T~U~V~W~X~Y~Z~a]
Parameter: locale = [en-us]

java.lang.IllegalArgumentException: Resource does not exist: rb.jazz.workitem.toolbar.actions.ui.LinkedDefectEditorToolbarAction.js

0 votes

Comments

 Hello Olga,

I've had similar error when there was syntax errors in my js file (ex: missing semi-colon).
You may want to review your Javascript, and / or sent it to me  - eric_jodet@fr.ibm.com

Thanks
Eric.

 sorry - I possibly read the above too quickly.

I was assuming we were talking about calculated value sets - but here we've added a new action, in the WebUI.

I guess here, you need to re-provision the ccm server - https://<server_name>:<port_number>/ccm/admin/cmd/requestReset 

ensure the new action / js is added to the correct plug-in , and restart the server

Thanks

Hello Eric,

I did it exactly as you say.

Otherwise how can I see it in ccm.log?
May be you know, how can I check in addition, list of current available extensions?

Thanks,
Olga

answer below (too large to be added as a comment)


Permanent link
Hi Olga,

in your extension plugin for contributing the action, please make sure that the dojo class, extension ID, and extension structure matches so it can be found.

For example, I see in the error log your file is: rb.jazz.workitem.toolbar.actions.ui.LinkedDefectEditorToolbarAction.js

So that would be ( taking https://jazz.net/library/article/782/ as guide):
  • "rb.jazz.workitem.toolbar.actions.ui.LinkedDefectEditorToolbarAction" as the declared dojo class
  • rb.jazz.workitem.toolbar.actions your extension plugin ID
  • and the dojo class stored in "ui" folder

Regards,

Jorge.

0 votes

Comments

Hi Jorge,

I check it , it correct since I did it according to guide (https://jazz.net/library/article/782/)
What else can cause this error ?

Thanks,
Olga

Hi Olga,

from my experience usually it is either some mistake in the declaration (so the extension can't find the actual code), or some error in the javascript code that throws an exception in the engine.
Dummy test ... are you able to deploy and run the sample from the article in your dev/test system?

Regards,

Jorge.


Permanent link
Hi Olga,

as discussed, you have to align the action you declare in your extension, the plugin ID and dojo class, so it can be found. Trying to summarize it: the action declaration should declare a full naming that can be resolved from plugin ID completed with folders under resources and class declaration. For example:
 - action="net.jazz.test.workitem.web.editorToolbarAction"
 - in a plugin with ID "net.jazz.test.workitem.web",
 - it will look for a dojo class "editorToolbarAction" in a file "editorToolbarAction.js" which is located within project "resources" folder.

Regards,

Jorge

0 votes

Your answer

Register or log in to post your answer.

Dashboards and work items are no longer publicly available, so some links may be invalid. We now provide similar information through other means. Learn more here.

Search context
Follow this question

By Email: 

Once you sign in you will be able to subscribe for any updates here.

By RSS:

Answers
Answers and Comments
Question details
× 10,938

Question asked: Feb 14 '12, 9:59 a.m.

Question was seen: 6,237 times

Last updated: Jun 17 '13, 5:50 a.m.

Confirmation Cancel Confirm