I defined in wso2ei a scheduled task. It's based on the proxy-service 'scheduler'. The problem is the field 'pinned server list'. If I leave it empty or enter 'localhost' I got an empty page with the url eg https://12.34.56.78:9443/carbon/task/savetask-ajaxprocessor.jsp
and when load the url I got 'Error 405 - Method Not Allowed'. In 'system logs' an error shows up
'Error invoking setter method named : setMessage() that takes a single String, int, long, float, double or boolean parameterDid not find a setter method named : setMessage() that takes a single String, int, long, float, double or boolean parameter'
So I entered the wso2ei-server-IP eg 12.34.56.89 in the 'Pinned Servers' field. Now the scheduled task shows up in the list. But the 'Systems log' stated 'Server name not in pinned servers list. Not starting Task : BBO20Worker'
My questions are:
- where can I find and manipulate the pinned server list?
- what is the name of my wso2ei server?
Thanks
The configured pinned server defines the server node that the scheduled task will be executed [1].
You can define a name for your service instance by adding the -DSynapseServerName=<ServerName> in the startup script (integrator.sh or integrator.bat file) [2]. Then use the defined server name as the pinned server name.
[1] https://docs.wso2.com/display/WSO2EI/Adding+and+Scheduling+Tasks
[2] https://docs.wso2.com/display/WSO2EI/Working+with+Proxy+Services
Related
I am trying to use erlcloud to send push notification to mobile based on endpointArn which received from client. I am able to successfully push notification with Java application. But same stuff if I try with erlang, it is giving timeout error. Below are code samples.
Config = erlcloud_sns:new(<<"Access Key">>,<<"secret Key">>,<<"sns.us-west-2.amazonaws.com">>).
erlcloud_sns:publish(target,<<"arn:aws:sns:us-west-2:2315XXXXXX:endpoint/GCM/testapp/XXXXXXX-fe9a-304e-aa52-XXXXXXXX">>,<<"ok">>,undefined,[],Config).
Last statement is showing below error.
** exception error: {sns_error,{socket_error,timeout}}
in function erlcloud_sns:sns_xml_request/3 (src/erlcloud_sns.erl, line 670)
in call from erlcloud_sns:publish/6 (src/erlcloud_sns.erl, line 471)
Same value of access_key, secret_key, Host and endpointArn works from Java program.
Short answer
Change your parameters to strings and it will work. i.e:
Config = erlcloud_sns:new("Access Key","secret Key","sns.us-west-2.amazonaws.com").
erlcloud_sns:publish(target,"arn:aws:sns:us-west-2:2315XXXXXX:endpoint/GCM/testapp/XXXXXXX-fe9a-304e-aa52-XXXXXXXX","ok",undefined,[],Config).
Long answer
erlcloud expects strings for all parameters. Unfortunately, instead of validating config values before storing them, it stores whatever you provide then fails on trying to use it. In this case, it can't recognise the credentials here (because the guard function is_list returns false). In the end, it falls back to getting credentials from ECS (here), hitting a timeout there and resulting in the error you see.
I have a simple service (C# web service) that accepts an integer and returns an integer, i have tested it using Storm it is working properly.
Now i am calling this service in a for loop in a file with around 2000 records approx, this service is failing giving the above error with some records. If i run the error file it goes through as if nothing was wrong, what might be the problem please help.
The error doesn't seem related to it being a web service call: it seems to indicate you either tried to GetEntity and passed in a zero/NullIdentifier() (not a valid Id), or maybe you tried an CreateEntity and that entity has a foreign key that is not filled in (i.e. zero/NullIdentifier() again).
I would start by checking the logic inside the WS method for those action calls and the inputs you are using there.
I have created a Talend job and deployed it as a Axis Web Service.
I am calling this Web Service from my Web Application.
My application and web service are deployed over Tomcat server.
For Valid Inputs:
Runs Perfectly.
For Invalid Inputs:
It throws Error/exceptions in Tomcat Server.
I want this Errors into my application. I didn't get any error related information in the Response sent by web service.
Error message on Tomcat Server
XML response of Web service
If I understand your question you are not so much asking how to fix this error, but how to get feedback about your error. There are several ways but here is a simple method.
Add a tLogCatcher to your job, and point its output to a tSendMail component. You can run the output thru a tMap do things like adding HTML formatting. You can also create a joblet with these two components and use the joblet in every job so you do not have to recreate it every time.
The diagram below shows a real simple case where I add tLogCatcher and tSendMail directly to the job. When there is an error it will send me an email with the details. You can use any of the columns in row11, I am only using job and message in my example.
This error : For input string "fabrik"
is generated by the tFileInputExcel component when encountering a non valid field (expected : integer ; given : string). You can't directly catch this error with the tFileInputExcel component (it's just printed out on the console).
However, you can use a tSchemaComplianceCheck component after your tFileInputExcelComponent : it will throw an error if a data is not valid for your schema. This component has a reject link to catch the error.
tFileInputExcel->tSchemaComplianceCheck->tMap->tMSOutput
If you use tLogCatcher component to catch the error then, at the end of the flow, you can add a tBufferOutput component. Keep the fields with the information you want for.
component configuration
The result will be like this (note that they are shown in the same order):
result
I am trying to use LOGEVENT appender to send ERROR logs to BAM for alerts and notification. LOGEVENT is configured in log4j.properties. However, I am facing 2 issues -
a. Stream name is generated with following convention : _ e.g. log_0_ESB_2014_09_29
b. IP address of ESB is not captured. Cassandra explorer shows "Non displayable value"
Please advise, if stream name can be generated as e.g. "ESB_Stream" without date part and IP address can be published with text value.
log4j.properties snippet :
log4j.appender.LOGEVENT=org.wso2.carbon.logging.appender.LogEventAppender
log4j.appender.LOGEVENT.url=tcp://localhost:7611
log4j.appender.LOGEVENT.layout=org.wso2.carbon.utils.logging.TenantAwarePatternLayout
log4j.appender.LOGEVENT.columnList=%T,%S,%A,%d,%c,%p,%m,%H,%I,%Stacktrace
log4j.appender.LOGEVENT.userName=admin
log4j.appender.LOGEVENT.password=admin
log4j.appender.LOGEVENT.processingLimit=1000
log4j.appender.LOGEVENT.maxTolerableConsecutiveFailure=20
log4j.appender.LOGEVENT.threshold=WARN
At the moment you cannot configure the stream definition name, and it gets created dynamically per tenant per date per instance type. However, we have decided to add this feature for our next releases[1]
Regarding the IP not getting populated issue, we have identified this issue[2] and we have fixed it for our next
Please refer the below public jiras.
[1] - https://wso2.org/browse/CARBON-14851
[2] - https://wso2.org/jira/browse/CARBON-14991
when i tried to run the job i am getting the error saying that
No server could be found matching all conditions
please any one help me on this
In buildforge, the job is assigned to a selector.
The selector can be thought of as a pointer to an object that can represent either the name of a server, or a set of servers that matches a set of criteria.
When the job executes, the selector for that step attempts to find the server based on the criteria defined in the selector conditions. If it can't find a server that matches the selection conditions, you get the posted error message.
In real life, this error usually indicates the following:
1. The agent on the server is dead, or the server is down. Run bfservertest (or test connection in the buildforge web UI) to see if the agent is functioning. Visit the machine remotely or in person to verify that the server is up. Try restarting the agent service if machine is up and connection test fails.
2. The selector is pointing to a non-existent server because you misspelled the server name.
3. You have conditions defined in the selector that unintentionally exclude all servers from being used.