I have a problem within one of my camel routes. It is a route that handles soap requests and does some exchanges...
After the exchange the route just hangs and after setting logging to TRACE I found out, that camel does an endless converting, that never stops:
2015-09-24 10:24:03,227 [TRACE]
(org.apache.camel.impl.converter.DefaultTypeConverter:231) -
Converting org.apache.camel.impl.DefaultMessage -> java.lang.String
with value: Message: Message: Message: Message: Message: Message:
Message: Message: Message: Message: Message: Message: Message:
Message: Message: Message: Message: Message: Message: Message: [Body
is null] 2015-09-24 10:24:03,230 [TRACE]
(org.apache.camel.impl.converter.DefaultTypeConverter:231) -
Converting org.apache.camel.impl.DefaultMessage -> java.lang.String
with value: Message: Message: Message: Message: Message: Message:
Message: Message: Message: Message: Message: [Body is null] 2015-09-24
10:24:03,232 [TRACE]
(org.apache.camel.impl.converter.DefaultTypeConverter:231) -
Converting org.apache.camel.impl.DefaultMessage -> java.lang.String
with value: Message: Message: Message: Message: Message: Message:
Message: Message: Message: Message: [Body is null] 2015-09-24
10:24:03,234 [TRACE]
(org.apache.camel.impl.converter.DefaultTypeConverter:231) -
Converting org.apache.camel.impl.DefaultMessage -> java.lang.String
with value: Message: Message: Message: Message: Message: Message:
Message: Message: Message: [Body is null]
...
This seems to happen after an exchange, before sending the message to an remote soap endpoint.
Strangely I have some other routes, where this works without hanging in the endless loop.
I just updated to camel 2.15.3, but this still happens.
I'm using java 7 and tomcat 7.
How can I find out, where the problem is and how to fix this?
Thanks, C
I found out, why the endless converting happened: It was our proxy server, that blocked the request being send to the forreign endpoint...
Related
I'm creating accounts using the json rpc for NEAR but when things fail, there isn't really an error that is passed back, so I'm unable to catch anything.
The object with key status is a test, this is returned after the function call has finished, but if there are no errors to catch, I can't tell if anything failed.
How are you catching errors here.
Receipts: 4epNvrYNDK2u4p7K4RKMqbqmoV6WMKjCFtE926uiTQEu, HMnN8FXcJVT4PjQxi5RAmBLLRn2gNaZwgDkNKXX66jj5
Failure [myaccount.mintspace2.testnet]: Error: {"index":0,"kind":{"ExecutionError":"Smart contract panicked: panicked at 'Failed to deserialize input from JSON.: Error(\"missing field `receiver_id`\", line: 1, column: 79)', store/src/core.rs:41:1"}}
{
status: 'success',
}
Error in event handler: Error: Failed to read the 'cssRules' property from 'CSSStyleSheet': Cannot access rules
enter image description here
Error in event handler: Error: Failed to read the 'cssRules' property from 'CSSStyleSheet': Cannot access rules
at findStyleSheets (chrome-extension://diebikgmpmeppiilkaijjbdgciafajmg/scripts/content-script.js:1014:12)
at chrome-extension://diebikgmpmeppiilkaijjbdgciafajmg/scripts/content-script.js:1052:13
error": {
"code": "ExtensionError",
"message": "Operation: Read; Exception: [Status Code: 429; Reason: Resource 'OData_GetSubscription__UserMailbox_f' has reached limit of '250'. Please retry after '2/17/2022 3:53:22 PM']",
}
how can I resolve this error
Exception Message: TF30063: You are not authorized to access http://Server Name/tfs/Collection Name. (type TeamFoundationServerUnauthorizedException) Exception Stack Trace: at Microsoft.TeamFoundation.Build.Hosting.BuildMachine.StartOperation.End(IAsyncResult result, HttpRouter& router, TfsMessageQueue& messageQueue, List`1& processHosts, MachineLifecycleActivity& traceActivity) at Microsoft.TeamFoundation.Build.Hosting.BuildMachine.EndStart(IAsyncResult result) at Microsoft.TeamFoundation.Build.Machine.WindowsService.EndStartMachine(IAsyncResult result) Inner Exception Details: Exception Message: The remote server returned an error: (401) Unauthorized. (type WebException)Status: ProtocolError Response Status Code: Unauthorized Response Status Message: Unauthorized Exception Stack Trace: at System.Net.HttpWebRequest.GetResponse() at Microsoft.TeamFoundation.Client.Channels.TfsHttpWebRequest.SendRequestAndGetResponse(HttpWebRequest webRequest, WebException& webException)
Try to add the port number of your sever, default is 8080:
http://ServerName:8080/tfs/CollectionName
I have a Grails application that makes HTTP requests to a back end server for it's data. That server can be taken down for maintenance, and when that happens it will return a "site down" message to the Grails app in the HTTP response. The Grails app is detecting this and throws a custom SiteDownException. In URLMappings.groovy this is then directed to a specific error page.
This works well apart from for AJAX requests. What seems to happen is that the "site down" URL mapping is triggered (as expected) followed by the catch all '500' mapping.
URLMappings.groovy
"500"(controller: "error", action: "siteDown", exception: SiteDownException)
"500"(controller: "error", action: "error500")
ErrorController.groovy
def siteDown() {
println ">>>> site down <<<<"
}
def error500() {
println ">>>> 500 <<<<"
}
The error is thrown using
throw new SiteDownException()
For regular requests the stacktrace shows...
[11/11/13 16:52:50.945 error] SiteDownException occurred when processing request: [POST] /portal/contact/detail - parameters:
fileKeyIdentifier:
mode: add
Stacktrace follows: [org.codehaus.groovy.grails.web.errors.GrailsExceptionResolver http-bio-8080-exec-6]
com.ui.exceptions.SiteDownException
at com.ui.backend.Backend$$EOMu30qx.getResponse(Backend.groovy:118)
at com.ui.backend.Backend$$EOMu30qx.getResponseAsDomainObject(Backend.groovy:41)
at com.ui.contact.ContactService.detail(ContactService.groovy:166)
at com.ui.contact.ContactController.detail(ContactController.groovy:87)
at grails.plugin.cache.web.filter.PageFragmentCachingFilter.doFilter(PageFragmentCachingFilter.java:195)
at grails.plugin.cache.web.filter.AbstractFilter.doFilter(AbstractFilter.java:63)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:722)
>>>> site down <<<<
Spot on, but for AJAX requests...
[11/11/13 16:54:09.380 error] SiteDownException occurred when processing request: [POST] /portal/contact/searchBody
Stacktrace follows: [org.codehaus.groovy.grails.web.errors.GrailsExceptionResolver http-bio-8080-exec-7]
com.ui.exceptions.SiteDownException
at com.ui.backend.Backend$$EOMu30qx.getResponse(Backend.groovy:118)
at com.ui.backend.Backend$$EOMu30qx.getResponseAsDomainObject(Backend.groovy:41)
at com.ui.contact.ContactService.searchBody(ContactService.groovy:55)
at com.ui.contact.ContactController.searchBody(ContactController.groovy:23)
at grails.plugin.cache.web.filter.PageFragmentCachingFilter.doFilter(PageFragmentCachingFilter.java:195)
at grails.plugin.cache.web.filter.AbstractFilter.doFilter(AbstractFilter.java:63)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:722)
>>>> site down <<<<
>>>> 500 <<<<
The last bit is key - it displays the "site down" message from the siteDown action, and "500" from the catch all error500 action.
Can anyone help explain why are both mappings being called for AJAX errors? Thanks
I've found the problem. I had an error trap in the jQuery AJAX wrapper:
error: function(XMLHttpRequest,textStatus,errorThrown){
window.location.href = config.contextPath + '/error/error500'; // Error - show the 500 error page
}
So the SiteDownException was correctly firing the SiteDown mapping, then the AJAX error handler was firing error500 mapping.