Websphere AdminApp.edit script error - websphere-8

Previously in WAS 7 we had a script to edit the roles of a user as below which worked just fine until the upgrade :
AdminApp.edit(appName, '[ -MapRolesToUsers [[ AppUser AppDeploymentOption.No AppDeploymentOption.No "" "" AppDeploymentOption.Yes "" "" ]]]')
but now in WAS 8.5.5 this does not work and I want to map it to AllAuthenticatedInTrustedRealms I have tried n number of ways to do it as a sample :
AdminApp.edit(appName, '[ -MapRolesToUsers [[ AppUser No Yes "" "" "AllAuthenticatedInTrustedRealms" ]]]')
it keeps throwing the below error :
WASX7017E: Exception received while running file "install_ear.py"; exception
information: com.ibm.bsf.BSFException: exception from Jython:
Traceback (innermost last):
(no code object) at line 0
File "<string>", line 68
AdminApp.edit(appName, '[ -MapRolesToUsers [[ AppUser No Yes ""
"" "AllAuthenticatedInTrustedRealms" ]]]')
^
SyntaxError: invalid syntax

Related

Jq: how to address a random-like key in json

in AWS CLI, the command aws quicksight describe-data-set blah blah returns a json document with the following troublesome syntax:
{
"Status": 200,
"DataSet": {
"Arn": "arn:aws:quicksight:<region>:<acct>:dataset/b7c87122-e180-47a9-a8a4-19f171e13fc8",
"DataSetId": "b7c87122-e180-47a9-a8a4-19f171e13fc8",
"Name": "MyName",
"CreatedTime": "2022-08-16T12:01:54.948000-05:00",
"LastUpdatedTime": "2022-08-19T08:47:55.553000-05:00",
"PhysicalTableMap": {
"6fac5dee-3691-4ddd-ba7a-0667168bb80c": {
"CustomSql": {
"DataSourceArn": "arn:aws:quicksight:<region>:<acct>:datasource/46f83f8b-181e-4575-8d61-84c50125f3aa",
I need to address that DataSetArn, but the key "6fac5dee-3691-4ddd-ba7a-0667168bb80c" is unknown to me at runtime. How do I address it?
I tried:
jq -r '.DataSet.PhysicalTableMap.*.CustomSql.DataSourceArn'
jq -r '.DataSet.PhysicalTableMap.\*.CustomSql.DataSourceArn'
jq -r '.DataSet.PhysicalTableMap.?.CustomSql.DataSourceArn'
jq -r '.DataSet.PhysicalTableMap.\?.CustomSql.DataSourceArn'
jq -r '.DataSet.PhysicalTableMap.%.CustomSql.DataSourceArn'
jq -r '.DataSet.PhysicalTableMap.\%.CustomSql.DataSourceArn'
All return an error similar to:
jq: error: syntax error, unexpected INVALID_CHARACTER, expecting FORMAT or QQSTRING_START (Unix shell quoting issues?) at <top-level>, line 1:
.DataSet.PhysicalTableMap.\?.CustomSql.DataSourceArn
jq: 1 compile error
Exception ignored in: <_io.TextIOWrapper name='<stdout>' mode='w' encoding='utf-8'>
BrokenPipeError: [Errno 32] Broken pipe
I'm a noob, I know I'm guessing here. Does anyone have any insight on this?
Something like this:
jq -r '.DataSet.PhysicalTableMap[].CustomSql.DataSourceArn'
The part .DataSet.PhysicalTableMap returns the object as one result, the following filter [] takes that object and returns each value as one result. The following filters take each of these separate results and refines more stuff.
Note: If the object is the top-level item then the syntax is .[] .

jq: Cannot index array with string "0"

There's "0" in a JSON giving me trouble, I'm trying to grab the value at:
response > data > sessions > 0 > user
The code I used was:
jq -r '.response.data.sessions."0".user'
The terminal returns: jq: error (at :1): Cannot index array with string "0"
I also tried:
jq -r '.response.data.sessions.0.user'
The terminal returned: jq: error: syntax error, unexpected LITERAL, expecting $end (Unix shell quoting issues?) at , line 1:
.response.data.sessions.0.user
Can use like this
https://jqplay.org/s/nYlPohfTdZ
.response.data.sessions[0].user

'Illegal base64 character' exception when indexing pdf in elasticsearch from shell script

I installed elasicsearch 5.0.1 with ingest attachment and tried indexing pdf in elasticsearch from shell script using below command
#!/bin/ksh
var=$(base64 sample.pdf | perl -pe 's/\n/\\n/g')
var1=$(curl -XPUT 'http://localhost:9200/my_index5/my_type/my_id?pipeline=attachment&pretty' -d' { "data" : "'$var'" }')
echo $var1
Got an error as
{ "error" : { "root_cause" : [ { "type" : "exception", "reason" : "java.lang.IllegalArgumentException: ElasticsearchParseException[Error parsing document in field [data]]; nested: IllegalArgumentException[Illegal base64 character a];", "header" : { "processor_type" : "attachment" } } ]
Can anyone please help resolving the above error
Rectified the error.
Cause for this error is, In the base64 encoded content \n was present which caused the "Illegal format exception".
As a solution, When tried like below it worked
var=$(base64 sample.pdf | perl -pe 's/\n//g')

pexpect python throw error

Although this is my first attempt at using pexpect, the python3 script using pexpect is pretty simple; yet it fails.
#!/usr/bin/env python3
import sys
import pexpect
SSH_NEWKEY = r'Are you sure you want to continue connecting \(yes/no\)\?'
child = pexpect.spawn("ssh -i /user/aws/key.pem ec2-user#xxx.xxx.xxx.xxx date")
i = child.expect( [ pexpect.TIMEOUT, SSH_NEWKEY )
if i == 1:
child.sendline('yes')
print(child.before)
The SSH_NEWKEY is the only response I'm expecting, but the example showed a list containing pexpect.TIMEOUT in it so I used it.
$ ./test.py
Traceback (most recent call last):
File "/usr/local/lib/python3.4/site-packages/pexpect/spawnbase.py", line 144, in read_nonblocking
s = os.read(self.child_fd, size)
OSError: [Errno 5] Input/output error
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/lib/python3.4/site-packages/pexpect/expect.py", line 97, in expect_loop
incoming = spawn.read_nonblocking(spawn.maxread, timeout)
File "/usr/local/lib/python3.4/site-packages/pexpect/pty_spawn.py", line 455, in read_nonblocking
return super(spawn, self).read_nonblocking(size)
File "/usr/local/lib/python3.4/site-packages/pexpect/spawnbase.py", line 149, in read_nonblocking
raise EOF('End Of File (EOF). Exception style platform.')
pexpect.exceptions.EOF: End Of File (EOF). Exception style platform.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "./min.py", line 15, in <module>
i = child.expect( [ pexpect.TIMEOUT, SSH_NEWKEY ] )
File "/usr/local/lib/python3.4/site-packages/pexpect/spawnbase.py", line 315, in expect
timeout, searchwindowsize, async)
File "/usr/local/lib/python3.4/site-packages/pexpect/spawnbase.py", line 339, in expect_list
return exp.expect_loop(timeout)
File "/usr/local/lib/python3.4/site-packages/pexpect/expect.py", line 102, in expect_loop
return self.eof(e)
File "/usr/local/lib/python3.4/site-packages/pexpect/expect.py", line 49, in eof
raise EOF(msg)
pexpect.exceptions.EOF: End Of File (EOF). Exception style platform.
<pexpect.pty_spawn.spawn object at 0x7f70ea4fbcf8>
command: /usr/bin/ssh
args: ['/usr/bin/ssh', '-i', '/user/aws/key.pem', 'ec2-user#xxx.xxx.xxx.xxx', 'date']
searcher: None
buffer (last 100 chars): b''
before (last 100 chars): b'Fri May 6 13:50:18 EDT 2016\r\n'
after: <class 'pexpect.exceptions.EOF'>
match: None
match_index: None
exitstatus: 0
flag_eof: True
pid: 31293
child_fd: 5
closed: False
timeout: 30
delimiter: <class 'pexpect.exceptions.EOF'>
logfile: None
logfile_read: None
logfile_send: None
maxread: 2000
ignorecase: False
searchwindowsize: None
delaybeforesend: 0.05
delayafterclose: 0.1
delayafterterminate: 0.1
What am I missing?
CentOS 6.4
python 3.4.3
An EOF error is being raised during your expect call. This means that the response received does not match SSH_NEWKEY, and reaches end of file within the timeout period. To catch this exception, you should change your except line to read:
i = child.expect( [ pexpect.TIMEOUT, SSH_NEWKEY, pexpect.EOF)
You can then make your if more robust:
if i == 1:
child.sendline('yes')
elif i == 0:
print "Timeout"
elif i == 2:
print "EOF"
print(child.before)
This doesn't solve the reason behind why you are on receiving a response with the expected string - it's hard to know without looking at more code but it's likely because you have the response slightly wrong. If you manually type in the SSH string, you should be able to see the response you can expect, and enter this response into your code.
You can also print child.before after your expect call, or print child.read() instead of your expect call to see what is being sent back as a response.

Issue in calling Json response for the Webscript in Alfresco

I have created Json response file in Company Home > Data Dictionary >
Web Scripts > org > alfresco > sample with the Name:
folder.get.json.ftl for one of the Alfresco Web
Script(http:// localhost:8080/alfresco/service/sample/folder/Company%20Home)according
to the guidelines mentioned in
http://docs.alfresco.com/4.0/index.jsp?topic=%2Fcom.alfresco.enterprise.doc%2Ftasks%2Fws-json-add.html.
After successful addition of the webscript , i have refresh the
Webscripts.
Now when im tring to call this websrcipt using the URL
http:// localhost:8080/alfresco/service/sample/folder/Company%20Home?format=json
i am getting Internal Error(500).
Please help me out regarding this.
Thanks in Advance!!!!
Below is the stack trace
{
"status" :
{
"code" : 500,
"name" : "Internal Error",
"description" : "An error inside the HTTP server which prevented it from fulfilling the request."
},
"message" : "01270141 Wrapped Exception (with status template): 01270216 Error during processing of the template 'Expression verbose is undefined on line 12, column 14 in org\/alfresco\/sample\/folder.get.json.ftl.'. Please contact your system administrator.",
"exception" : "org.springframework.extensions.webscripts.WebScriptException - 01270141 Wrapped Exception (with status template): 01270216 Error during processing of the template 'Expression verbose is undefined on line 12, column 14 in org\/alfresco\/sample\/folder.get.json.ftl.'. Please contact your system administrator.",
"callstack" :
[
"" ,"freemarker.core.InvalidReferenceException: Expression verbose is undefined on line 12, column 14 in org\/alfresco\/sample\/folder.get.json.ftl."
,"freemarker.core.TemplateObject.assertNonNull(TemplateObject.java:125)"
,"freemarker.core.Expression.isTrue(Expression.java:145)"
,"freemarker.core.ConditionalBlock.accept(ConditionalBlock.java:77)"
,"freemarker.core.Environment.visit(Environment.java:221)"
,"freemarker.core.MixedContent.accept(MixedContent.java:92)"
,"freemarker.core.Environment.visit(Environment.java:221)"
,"freemarker.core.IteratorBlock$Context.runLoop(IteratorBlock.java:179)"
,"freemarker.core.Environment.visit(Environment.java:428)"
,"freemarker.core.IteratorBlock.accept(IteratorBlock.java:102)"
,"freemarker.core.Environment.visit(Environment.java:221)"
,"freemarker.core.MixedContent.accept(MixedContent.java:92)"
,"freemarker.core.Environment.visit(Environment.java:221)"
,"freemarker.core.Environment.process(Environment.java:199)"
,"org.alfresco.repo.template.FreeMarkerProcessor.process(FreeMarkerProcessor.java:202)"
,"org.springframework.extensions.webscripts.AbstractWebScript.renderTemplate(AbstractWebScript.java:714)"
,"org.springframework.extensions.webscripts.DeclarativeWebScript.renderFormatTemplate(DeclarativeWebScript.java:267)"
,"org.springframework.extensions.webscripts.DeclarativeWebScript.execute(DeclarativeWebScript.java:147)"
,"org.alfresco.repo.web.scripts.RepositoryContainer$2.execute(RepositoryContainer.java:400)"
,"org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:388)"
,"org.alfresco.repo.web.scripts.RepositoryContainer.transactionedExecute(RepositoryContainer.java:453)"
,"org.alfresco.repo.web.scripts.RepositoryContainer.transactionedExecuteAs(RepositoryContainer.java:491)"
,"org.alfresco.repo.web.scripts.RepositoryContainer.executeScript(RepositoryContainer.java:316)"
,"org.springframework.extensions.webscripts.AbstractRuntime.executeScript(AbstractRuntime.java:352)"
,"org.springframework.extensions.webscripts.AbstractRuntime.executeScript(AbstractRuntime.java:189)"
,"org.springframework.extensions.webscripts.servlet.WebScriptServlet.service(WebScriptServlet.java:118)"
,"javax.servlet.http.HttpServlet.service(HttpServlet.java:717)"
,"org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)"
,"org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)"
,"org.alfresco.web.app.servlet.GlobalLocalizationFilter.doFilter(GlobalLocalizationFilter.java:58)"
,"org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)"
,"org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)"
,"org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)"
,"org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)"
,"org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:465)"
,"org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)"
,"org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)"
,"org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)"
,"org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)"
,"org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:859)"
,"org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:579)"
,"org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1555)"
,"java.lang.Thread.run(Thread.java:619)"
,"org.alfresco.service.cmr.repository.TemplateException: 01270216 Error during processing of the template 'Expression verbose is undefined on line 12, column 14 in org\/alfresco\/sample\/folder.get.json.ftl.'. Please contact your system administrator."
,"org.alfresco.repo.template.FreeMarkerProcessor.process(FreeMarkerProcessor.java:206)"
,"org.springframework.extensions.webscripts.WebScriptException: 01270141 Wrapped Exception (with status template): 01270216 Error during processing of the template 'Expression verbose is undefined on line 12, column 14 in org\/alfresco\/sample\/folder.get.json.ftl.'. Please contact your system administrator."
,"org.springframework.extensions.webscripts.AbstractWebScript.createStatusException(AbstractWebScript.java:884)"
],
"server" : "Community v4.0.0 (a r30055) schema 5,016",
"time" : "Feb 27, 2012 9:53:23 AM"
}
The key line is:
freemarker.core.InvalidReferenceException: Expression verbose is undefined on line 12, column 14 in org/alfresco/sample/folder.get.json.ftl.
Your template, on line 12, character 14, you've referenced a variable "verbose" which doesn't exist. You should either set that variable in the model, or check if it's defined or not before using it.

Resources