It's all about the answers!

Ask a question

HTTP 500 error when executing custom value provider


Jared Russell (1.3k12019) | asked Feb 14 '12, 9:59 a.m.
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.

10 answers



permanent link
Jorge Diaz (8664434) | answered Jun 17 '13, 5:50 a.m.
JAZZ DEVELOPER
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

permanent link
Jorge Diaz (8664434) | answered May 30 '13, 1:40 p.m.
JAZZ DEVELOPER
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.


Comments
Olga Haslavski commented Jun 10 '13, 7:49 a.m.

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


Jorge Diaz commented Jun 10 '13, 8:40 a.m. | edited Jun 10 '13, 8:40 a.m.
JAZZ DEVELOPER

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
Olga Haslavski (111) | answered May 26 '13, 1:04 a.m.
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

Comments
Eric Jodet commented May 27 '13, 12:43 a.m.
JAZZ DEVELOPER

 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.


Eric Jodet commented May 27 '13, 1:30 a.m.
JAZZ DEVELOPER

 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


Olga Haslavski commented May 27 '13, 1:42 a.m.

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


Eric Jodet commented May 27 '13, 5:34 a.m.
JAZZ DEVELOPER

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


permanent link
Krzysztof Kaźmierczyk (7.4k374103) | answered May 14 '13, 6:07 a.m.
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


permanent link
Eric Jodet (6.3k5111120) | answered Jan 14 '13, 12:31 p.m.
JAZZ DEVELOPER
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

Comments
Matthias Buettgen commented Jan 15 '13, 2:38 a.m.

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


Eric Jodet commented Jan 15 '13, 2:53 a.m.
JAZZ DEVELOPER

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


permanent link
Eric Jodet (6.3k5111120) | answered Jan 14 '13, 9:30 a.m.
JAZZ DEVELOPER
edited Jan 14 '13, 9:31 a.m.
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

Comments
Matthias Buettgen commented Jan 14 '13, 10:05 a.m.

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
Matthias Buettgen (23612231) | answered Jan 14 '13, 8:57 a.m.
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

permanent link
Jared Russell (1.3k12019) | answered Feb 17 '12, 7:39 a.m.
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 :)

permanent link
Andy Fox (6) | answered Feb 15 '12, 3:21 p.m.
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 :)

permanent link
Eric Jodet (6.3k5111120) | answered May 27 '13, 5:34 a.m.
JAZZ DEVELOPER
  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

Comments
Ralph Schoon commented May 28 '13, 2:05 a.m.
FORUM ADMINISTRATOR / FORUM MODERATOR / JAZZ DEVELOPER

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


Eric Jodet commented May 28 '13, 2:30 a.m.
JAZZ DEVELOPER

 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:


Ralph Schoon commented May 28 '13, 2:46 a.m.
FORUM ADMINISTRATOR / FORUM MODERATOR / JAZZ DEVELOPER

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.


Your answer


Register or 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.