tag:blogger.com,1999:blog-75772367328912702072024-03-01T08:09:41.241+01:00middleware&security technical blogpracticioner's clues to websphere, tivoli security and datapowermhhttp://www.blogger.com/profile/00007152277906259288noreply@blogger.comBlogger52125tag:blogger.com,1999:blog-7577236732891270207.post-17093035031763036762017-09-29T10:52:00.003+02:002017-09-29T10:52:38.982+02:00JBAS015009: Scan found incompletely copied file content for deployment on JBoss 6.x<div dir="ltr" style="text-align: left;" trbidi="on">
Seems I got back in business, so that means....new material to share!<br />
<br />
While developing application packaged as .war and using some automation for app deployment to remote JBoss instance (be it somewhere in the cloud or local virtual machine), you might run into this error reported in JBoss console log.<br />
<i><br /></i>
<i>JBAS015009: Scan found incompletely copied file content for deployment</i><br />
<br />
I assume that you are using auto-deploy feature in your Jboss, when it is supposed to pick up changed artifact on the fly.<br />
<i><br /></i>
The error basically might mean two things: that your file might have got corrupted while transferring (which is rather unlikely, but worth checking) or just JBoss sees it "corrupted".<br />
<br />
The latter can be caused by your .war file exceeding some threshold size, which triggers this awkward dependency: your automation starts transferring file, JBoss notices the changed file but as it hasn't finished transferring, auto-deploy recognizes it as "corrupted" and drops the ball (at least that happens in EAP Version 6.3.2.GA which I'm using) and never attempts to deploy again.<br />
<br />
In my case this started happening when .war size jumped from 7.5M to 18M (adding some 10M heavy dependencies).<br />
<br />
The way around this problem was increasing scan interval value from 5sec to 15sec in your Core -> Deployment scanners -> default setting screen:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://i.imgur.com/ns9hm3b.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="552" data-original-width="800" height="275" src="https://i.imgur.com/ns9hm3b.png" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
which, I believe, gives enough time for complete scp file transfer between my IDE and JBoss virtual machine. Ever since, it has been working for me like a charm.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Hope this helps, good luck!</div>
<br />
<br /></div>
mhhttp://www.blogger.com/profile/00007152277906259288noreply@blogger.com20tag:blogger.com,1999:blog-7577236732891270207.post-8740028520753096532015-09-14T10:41:00.001+02:002015-09-14T10:41:55.378+02:00Application on a separate custom port - Webspher Application Server 8.5<div dir="ltr" style="text-align: left;" trbidi="on">
I've just spotted a question on developerworks forum whether it's possible to run one of the applications on Websphere Application Server on a separate, custom port. There's a way to achieve this and in this post I'm going to show how to do it.<br />
<br />
1. First, we need to define a <b>new port</b> for our server. Go to Application servers -> your server -> Ports, anc click New....<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://screenshu.com/static/uploads/temporary/rr/2j/b6/5j4e7a.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://screenshu.com/static/uploads/temporary/rr/2j/b6/5j4e7a.jpg" height="185" width="640" /></a></div>
<br />
Type in non-standard value (eg. <i>9081</i>) and a custom name (<i>WC_customPort</i>)<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://screenshu.com/static/uploads/temporary/6d/l1/dh/wg0tzo.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://screenshu.com/static/uploads/temporary/6d/l1/dh/wg0tzo.jpg" height="400" width="316" /></a></div>
Click OK and save the changes, and you will see your newly added port on the list:<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://screenshu.com/static/uploads/temporary/qn/ee/fv/q7pu5n.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://screenshu.com/static/uploads/temporary/qn/ee/fv/q7pu5n.jpg" height="242" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
But there's a small culprit now - we got the port, but "No associated transport" means that nothing really listens on the requests on this port. That's why we need to define a new transport chain for our port.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
2. The <b>new transport chain</b> will essentially be identical to existing default transport chain. To create it we need to go to Application servers -> Web container -> Web container transport chains:</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://screenshu.com/static/uploads/temporary/o2/6p/el/cuanl0.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://screenshu.com/static/uploads/temporary/o2/6p/el/cuanl0.jpg" height="258" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Click New... and create on from webContainer template:</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://screenshu.com/static/uploads/temporary/yx/bl/si/isqn40.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://screenshu.com/static/uploads/temporary/yx/bl/si/isqn40.jpg" height="216" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Click Next, and pick the existing port created in step 1. (as you can see, WAS could have made this for us in this place)</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://screenshu.com/static/uploads/temporary/hm/wc/ud/zlxash.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://screenshu.com/static/uploads/temporary/hm/wc/ud/zlxash.jpg" height="225" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
Confirm the data on the last screen and click Finish, save changes and you should have your new transport chain on the list:</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://screenshu.com/static/uploads/temporary/oq/qf/zr/1zqp3m.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://screenshu.com/static/uploads/temporary/oq/qf/zr/1zqp3m.jpg" height="226" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
We're almost ready: we've got the port and transport associated with it, but we still have no way to map our application to a different port, because we only have one default virtual host defined for standard 9080 port:</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://screenshu.com/static/uploads/temporary/zb/ie/b2/4jhfpz.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://screenshu.com/static/uploads/temporary/zb/ie/b2/4jhfpz.jpg" height="168" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
3. Let's <b>create a new virtual host</b> then:</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://screenshu.com/static/uploads/temporary/5d/gi/7a/j9hi4g.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://screenshu.com/static/uploads/temporary/5d/gi/7a/j9hi4g.jpg" height="266" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://screenshu.com/static/uploads/temporary/ui/47/qs/zt5r44.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://screenshu.com/static/uploads/temporary/ui/47/qs/zt5r44.jpg" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Now, go again into custom_host, and go to Mime Aliases screen and define it to be 'any' (*) host, port 9081:</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://screenshu.com/static/uploads/temporary/kz/5q/2a/ujvyx1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://screenshu.com/static/uploads/temporary/kz/5q/2a/ujvyx1.jpg" height="288" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Click OK, save changes. The only thing remaining now is to map the application you want to use on custom port to this new virtual host. Go to Enterprise Applications > Your application > Virtual hosts and map it to custom_host:</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://screenshu.com/static/uploads/temporary/la/3o/u3/3m96q0.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://screenshu.com/static/uploads/temporary/la/3o/u3/3m96q0.jpg" height="188" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
All necessary changes have been made, so be sure you save them to server's config and restart the server. And there we go, after server reboot, we have two different applications on two different ports:</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://screenshu.com/static/uploads/temporary/yf/37/4r/jwy6cc.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://screenshu.com/static/uploads/temporary/yf/37/4r/jwy6cc.jpg" height="320" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<br />
In this post I showed how to make J2EE application running on Websphere Application Server 8.5 use custom, non standard port along with other applications running on default web container port. I hope this helps you and if you have any questions, feel free to post it in comments.<br />
<br />
Good day, and good luck to you!</div>
mhhttp://www.blogger.com/profile/00007152277906259288noreply@blogger.com0tag:blogger.com,1999:blog-7577236732891270207.post-24131923519707547962015-03-11T16:04:00.002+01:002015-03-11T16:04:42.413+01:00Eclipse (Rational) stuck on cleaning/building workspace forever<div dir="ltr" style="text-align: left;" trbidi="on">
..or at least seems so.<br />
<br />
Sometimes - usually with complex projects including mutiple sub-projects open in RAD/Eclipse - your IDE gets stuck on Building workspace or even Cleaning projects at various stages (in my case it was 100%) and despite Progress bar showing undergoing work, it would never end. Also, you are unable to close the IDE in a normal manner, only killing the process can end it and after restart, build/clean re-starts automatically up to no avail, to get you stuck again.<br />
<br />
There a few things you can do about it:<br />
<br />
<br />
<ol style="text-align: left;">
<li>level: <i>NEAT</i><br />try starting RAD/Eclipse with -clean -clearPersistedState flags. it will cause removal of unused artifacts and rebuild the indexes<br /></li>
<li>level: <i>ROUGH</i><br />go to .metadata/.plugins/org.eclipse.core.resources/.root/.indexes and delete all contents (3 files) and restart your IDE. it will see indexes physically wiped so will rebuild them from the scratch<br /></li>
<li>level: <i>VILLAIN</i><br />go to .metadata\.plugins\org.eclipse.ui.workbench and rename workbench.xml to other name, like workbench.xml.bak . It will remove all existing workspace-lifetime artifacts and will revert you to default perspective after re-launch, but it seems to do wonders in terms of unblocking existing zombie artifacts</li>
</ol>
<div>
Just be careful, always do backups when messing with .metadata files in case IDE throws any nasty errors at you at the next re-start (yeah, it happens)</div>
<div>
<br /></div>
<div>
Good luck!</div>
</div>
mhhttp://www.blogger.com/profile/00007152277906259288noreply@blogger.com1tag:blogger.com,1999:blog-7577236732891270207.post-47764517489268238482015-01-12T11:07:00.002+01:002015-01-12T11:07:41.087+01:00Obscured by the cloud - why google hides functions in API docs ??? <div dir="ltr" style="text-align: left;" trbidi="on">
Just a quickie. I need to make a few Google Sheets scripts for some side projects, and struggle finding some basic low-level tools in Google API docs. For instance, you can't find String object documented....but it's still in there.<br />
<br />
So I managed to successfully use function such as<br />
<br />
toDateString<br />
substring<br />
indexOf<br />
<br />
wondered why, and probable answer (not obvious to me) is that they are supported as a part of JavaScript which you can use in Google Script editor. Seems google just went so abstract in what they want developers to use form Google API services and apps that they dropped maintaining documentation for generic stuff like above. It causes some confusion, at least for me (I haven't been following any updates for devs from g's side).<br />
<br />
Next time I will just remember.<br />
<br />
Anyway, if you want to convert a cell contents which behind the scenes is stored by the sheet as:<br />
<br />
Thu Dec 11 2014 01:00:00 GMT+0100 (CET)<br />
<br />
to some more human readable form<br />
<br />
use toDateString which yields<br />
<br />
<div class="example_code notranslate" style="background-color: white; border-left-color: rgb(138, 192, 7); border-left-style: solid; border-left-width: 4px; border-radius: 4px; font-family: Consolas, 'courier new'; font-size: 14px; padding: 4px 4px 4px 7px; width: auto;">
Mon Jan 12 2015</div>
<div>
<br /></div>
<div>
straight from JS: http://www.w3schools.com/jsref/jsref_todatestring.asp</div>
<div>
<br /></div>
<div>
or put his bit of code:</div>
<div>
<br /></div>
<div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;">var month = data[row][col].getMonth() + 1;</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;">var neatDate = data[row][col].getDate() + "/" + month +"/" + data[row][col].getFullYear();</span></div>
</div>
<div>
<br /></div>
<div>
<br /></div>
<div>
good luck!</div>
<br />
<br />
<br />
<br /></div>
mhhttp://www.blogger.com/profile/00007152277906259288noreply@blogger.com3tag:blogger.com,1999:blog-7577236732891270207.post-61968652903961927952014-08-28T16:55:00.000+02:002014-08-28T16:55:01.548+02:00ADMU3007E: Exception com.ibm.websphere.management.exception.AdminException: ADMU3027E: An instance of the server may already be running<div dir="ltr" style="text-align: left;" trbidi="on">
So, I didn't went very far away from WebSphere in this one. Just yesterday one of my colleagues asked me for help while attempting to start nawely installed WAS on <b>newly installed</b> Linux OS.<br />
<br />
He was getting standard "specified port busy" message and exceptions in the logs:<br />
<br />
<span style="font-size: x-small;">[8/27/14 13:17:48:979 CEST] 00000001 AdminTool A ADMU3028I: Conflict detected on port 8879. Likely causes: a) An instance of the server dmgr is already running b) some other process is using port 8879</span><br />
<span style="font-size: x-small;">[8/27/14 13:17:48:980 CEST] 00000001 AdminTool A ADMU3029I: Conflict detected on port 8879 for endpoint SOAP_CONNECTOR_ADDRESS of the server dmgr </span><br />
<span style="font-size: x-small;">[8/27/14 13:17:48:980 CEST] 00000001 AdminTool A ADMU3027E: An instance of the server may already be running: dmgr</span><br />
<span style="font-size: x-small;">[8/27/14 13:17:48:981 CEST] 00000001 WsServerLaunc E ADMU3002E: Exception attempting to process server dmgr</span><br />
<span style="font-size: x-small;">[8/27/14 13:17:48:981 CEST] 00000001 WsServerLaunc E ADMU3007E: Exception com.ibm.websphere.management.exception.AdminException: ADMU3027E: An instance of the server may already be running: dmgr</span><br />
<span style="font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>at com.ibm.ws.management.tools.WsServerLauncher.runTool(WsServerLauncher.java:318)</span><br />
<span style="font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>at com.ibm.ws.management.tools.AdminTool.executeUtility(AdminTool.java:269)</span><br />
<span style="font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>at com.ibm.ws.management.tools.WsServerLauncher.main(WsServerLauncher.java:134)</span><br />
<span style="font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)</span><br />
<span style="font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)</span><br />
<span style="font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)</span><br />
<span style="font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>at java.lang.reflect.Method.invoke(Method.java:611)</span><br />
<span style="font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>at com.ibm.ws.bootstrap.WSLauncher.main(WSLauncher.java:277)</span><br />
<span style="font-size: x-small;"><br /></span>
Usual (for the case) check of <i>netstat -an | grep 8879</i> and <i>ps -ef | grep dmgr </i>didn't show any rogue or orphaned processes running in the system, so initially the cause was not apparent. But, I tried to start the server with <i>-trace</i> flag which gives you (sometimes) a lot of additional information on server startup process and.....we found the culprit:<br />
<span style="font-size: x-small;"><br /></span>
<span style="font-size: x-small;">[27.08.14 15:11:36:362 CEST] 00000001 ConnectorHelp > getOpenConnectorPorts: false Entry</span><br />
<span style="font-size: x-small;">[27.08.14 15:11:36:362 CEST] 00000001 ConnectorHelp 3 testing host: <b>fully_qualified_hostname</b>, port: 8879</span><br />
<span style="font-size: x-small;">[27.08.14 15:11:36:362 CEST] 00000001 ConnectorHelp 3 trying host: </span><b style="font-size: small;">fully_qualified_hostname</b><span style="font-size: x-small;">, port: 8879</span><br />
<span style="font-size: x-small;">[27.08.14 15:11:36:366 CEST] 00000001 ConnectorHelp 3 determined host: </span><b style="font-size: small;">fully_qualified_hostname</b><span style="font-size: x-small;">, port: 8879 in use</span><br />
<span style="font-size: x-small;">[27.08.14 15:11:36:366 CEST] 00000001 AdminTool A ADMU3028I: Wykryto konflikt na porcie 8879. Możliwe przyczyny: a) Instancja serwera dmgr została już uruchomiona. b) Port 8879 jest używany przez inny proces.</span><br />
<span style="font-size: x-small;">[27.08.14 15:11:36:366 CEST] 00000001 AdminTool A ADMU3029I: Wykryto konflikt na porcie 8879 dla punktu końcowego SOAP_CONNECTOR_ADDRESS serwera dmgr</span><br />
<span style="font-size: x-small;">[27.08.14 15:11:36:367 CEST] 00000001 AdminTool A ADMU3027E: Możliwe, że działa już instancja tego serwera: dmgr</span><br />
<span style="font-size: x-small;">[27.08.14 15:11:36:367 CEST] 00000001 WsServerLaunc E ADMU3002E: Wyjątek podczas próby przetworzenia serwera dmgr</span><br />
<span style="font-size: x-small;">[27.08.14 15:11:36:368 CEST] 00000001 WsServerLaunc E ADMU3007E: Wyjątek com.ibm.websphere.management.exception.AdminException: ADMU3027E: Możliwe, że działa już instancja tego serwera: dmgr</span><br />
<span style="font-size: x-small;"><br /></span>
so, only after using -trace those two key log lines appear, telling you what exactly host your jvm is trying to use to open sockets. Being sure no process occupies port 8879, I checked /etc/hosts and found there only:<br />
<br />
127.0.0.1 localhost<br />
<br />
entry. So there was no way WAS could resolve port 8879 on <b>fully_qualified_hostname! </b>I simply added:<br />
<br />
<b style="font-size: small;">127.0.0.1 fully_qualified_hostname </b><br />
<b style="font-size: small;"><br /></b>
there, saved, and the very next attempt to start the server was successful:<br />
<span style="font-size: x-small;"><br /></span>
<i><span style="font-size: x-small;">[27.08.14 15:11:36:371 CEST] 00000001 AdminTool A ADMU0111E: Program zakończył pracę z błędem: com.ibm.websphere.management.exception.AdminException: ADMU3027E: Możliwe, że działa już instancja tego serwera: dmgr</span></i><br />
<i><span style="font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>at com.ibm.ws.management.tools.WsServerLauncher.runTool(WsServerLauncher.java:318)</span></i><br />
<i><span style="font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>at com.ibm.ws.management.tools.AdminTool.executeUtility(AdminTool.java:269)</span></i><br />
<i><span style="font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>at com.ibm.ws.management.tools.WsServerLauncher.main(WsServerLauncher.java:134)</span></i><br />
<i><span style="font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)</span></i><br />
<i><span style="font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)</span></i><br />
<i><span style="font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)</span></i><br />
<i><span style="font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>at java.lang.reflect.Method.invoke(Method.java:611)</span></i><br />
<i><span style="font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>at com.ibm.ws.bootstrap.WSLauncher.main(WSLauncher.java:277)</span></i><br />
<i><span style="font-size: x-small;"><br /></span></i>
<i><span style="font-size: x-small;">[27.08.14 15:11:36:372 CEST] 00000001 AdminTool 3 Returning from auxiliary method issueMessage with return code: 111</span></i><br />
<i><span style="font-size: x-small;">[27.08.14 15:11:36:372 CEST] 00000001 AdminTool A ADMU0211I: Szczegóły dotyczące błędu można znaleźć w pliku: /opt/IBM/WebSphere/AppServer/profiles/Dmgr01/logs/dmgr/startServer.log</span></i><br />
<i><span style="font-size: x-small;">[27.08.14 15:11:36:372 CEST] 00000001 AdminTool 3 Returning from auxiliary method issueMessage with return code: 211</span></i><br />
<i><span style="font-size: x-small;">[27.08.14 15:11:36:373 CEST] 00000001 AdminTool 3 Returning from executeUtility method with return code: -1</span></i><br />
<span style="font-size: x-small;"><b>************ Start Display Current Environment ************</b></span><br />
<span style="font-size: x-small;"><b>Host Operating System is Linux, version 3.10.0-123.el7.x86_64</b></span><br />
<span style="font-size: x-small;"><b>Java version = 1.6.0, Java Compiler = j9jit26, Java VM name = IBM J9 VM</b></span><br />
<span style="font-size: x-small;"><b>was.install.root = /opt/IBM/WebSphere/AppServer</b></span><br />
<span style="font-size: x-small;"><b>user.install.root = /opt/IBM/WebSphere/AppServer/profiles/Dmgr01</b></span><br />
<span style="font-size: x-small;"><b>Java Home = /opt/IBM/WebSphere/AppServer/java/jre</b></span><br />
<span style="font-size: x-small;"><b>ws.ext.dirs = /opt/IBM/WebSphere/AppServer/java/lib:/opt/IBM/WebSphere/AppServer/classes:/opt/IBM/WebSphere/AppServer/lib:/opt/IBM/WebSphere/AppServer/installedChannels:/opt/IBM/WebSphere/AppServer/lib/ext:/opt/IBM/WebSphere/AppServer/web/help:/opt/IBM/WebSphere/AppServer/deploytool/itp/plugins/com.ibm.etools.ejbdeploy/runtime</b></span><br />
<span style="font-size: x-small;"><b>Classpath = /opt/IBM/WebSphere/AppServer/profiles/Dmgr01/properties:/opt/IBM/WebSphere/AppServer/properties:/opt/IBM/WebSphere/AppServer/lib/startup.jar:/opt/IBM/WebSphere/AppServer/lib/bootstrap.jar:/opt/IBM/WebSphere/AppServer/java/lib/tools.jar:/opt/IBM/WebSphere/AppServer/lib/lmproxy.jar:/opt/IBM/WebSphere/AppServer/lib/urlprotocols.jar</b></span><br />
<span style="font-size: x-small;"><b>Java Library path = /opt/IBM/WebSphere/AppServer/java/jre/lib/amd64/compressedrefs:/opt/IBM/WebSphere/AppServer/java/jre/lib/amd64:/opt/IBM/WebSphere/AppServer/lib/native/linux/x86_64/:/opt/IBM/WebSphere/AppServer/bin::/usr/lib</b></span><br />
<span style="font-size: x-small;"><b>Orb Version = IBM Java ORB build orb626-20130112.01</b></span><br />
<span style="font-size: x-small;"><b>Current trace specification = *=info</b></span><br />
<span style="font-size: x-small;"><b>************* End Display Current Environment *************</b></span><br />
<span style="font-size: x-small;"><b>[27.08.14 15:14:17:349 CEST] 00000001 ManagerAdmin I TRAS0017I: Początkowy stan śledzenia: *=info.</b></span><br />
<span style="font-size: x-small;"><b>[27.08.14 15:14:17:402 CEST] 00000001 AdminTool A ADMU0128I: Uruchamianie narzędzia w oparciu o profil Dmgr01</b></span><br />
<span style="font-size: x-small;"><b>[27.08.14 15:14:17:406 CEST] 00000001 AdminTool A ADMU3100I: Odczyt konfiguracji serwera: dmgr</b></span><br />
<span style="font-size: x-small;"><b>[27.08.14 15:14:17:416 CEST] 00000001 ImplFactory W WSVR0072W: Niezadeklarowane przesłonięcie interfejsu com.ibm.websphere.cluster.topography.DescriptionManager implementacją com.ibm.ws.cluster.propagation.bulletinboard.BBDescriptionManager jest ignorowane</b></span><br />
<span style="font-size: x-small;"><b>[27.08.14 15:14:17:563 CEST] 00000001 ModelMgr I WSVR0801I: Inicjowanie wszystkich modeli konfiguracji serwera</b></span><br />
<span style="font-size: x-small;"><b>[27.08.14 15:14:19:761 CEST] 00000001 WorkSpaceMana A WKSP0500I: Funkcja sprawdzania spójności konfiguracji obszaru roboczego: wyłączone.</b></span><br />
<span style="font-size: x-small;"><b>[27.08.14 15:14:19:914 CEST] 00000001 AdminTool A ADMU3200I: Serwer został uruchomiony. Oczekiwanie na status inicjowania.</b></span><br />
<span style="font-size: x-small;"><b>[27.08.14 15:14:41:275 CEST] 00000001 AdminTool A ADMU3000I: Serwer dmgr został otwarty dla e-biznesu. Identyfikator procesu to 29871</b></span><br />
<div>
<span style="font-size: x-small;"><br /></span></div>
<div>
<span style="font-size: x-small;"><br /></span></div>
<div>
Hope this helps! Good luck!</div>
<br /></div>
mhhttp://www.blogger.com/profile/00007152277906259288noreply@blogger.com6tag:blogger.com,1999:blog-7577236732891270207.post-42528066141353557942014-06-30T12:29:00.000+02:002014-06-30T12:29:18.481+02:00JavaScript [1] - Limiting text input to numbers only<div dir="ltr" style="text-align: left;" trbidi="on">
As I have changed my professional direction a little bit, I'm finding new interesting topics to blog about. Namely, I've been moved to J2EE development project, vast mix of pure Java, Chordiant, ILOG, WAS and Oracle. Hence, I'm now focusing on code issues more than WebSphere&Security integration issues.<br />
<br />
For the sake of continuity I'm not going to change blog name - I'm anyway "somewhere around" the original topic, and probably I will be back to it someday.<br />
<br />
So, here's my first JavaScript hint - if you need to limit text input in your HTML form to numbers (decimals, with decimal point) only, you can do it like this:<br />
<br />
<br />
<ol style="text-align: left;">
<li>put together a nice piece of javascript validating what is being input:</li>
<br />
<blockquote class="tr_bq">
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"><script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script></span></blockquote>
<blockquote class="tr_bq">
<blockquote class="tr_bq">
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"><script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script></span></blockquote>
<blockquote class="tr_bq">
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"><script></span></blockquote>
<blockquote class="tr_bq">
<span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">$('#in').bind('input propertychange', function() {</span></blockquote>
<blockquote class="tr_bq">
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> var text = $(this).val();</span></blockquote>
<blockquote class="tr_bq">
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> var t2 = text.replace(/[\\A-Za-z!"£$%^&\-\)\(*+_={};:'@#~,Š\/<>\" "\?|`¬\]\[]/g,'');</span></blockquote>
<blockquote class="tr_bq">
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> $(this).val(t2);</span></blockquote>
</blockquote>
<span style="font-size: x-small;"> <span style="font-family: Courier New, Courier, monospace;"> // line below is purely for presentation purposes - set value of paragraph named "result" to the valid input value</span></span><br />
<blockquote class="tr_bq">
<blockquote class="tr_bq">
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> $('#Result').text(t2); </span></blockquote>
<blockquote class="tr_bq">
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> </span></blockquote>
<blockquote class="tr_bq">
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;">});</span></blockquote>
<blockquote class="tr_bq">
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"></script></span></blockquote>
</blockquote>
<li>test it out in a piece of complete HTML page to see how it works. important thing is you need to put the <script> part AFTER you put your input field into the document - otherwise the script won't be "bound" to the input:</li>
</ol>
<div>
<blockquote>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"><html><br /><br /><body><br /><p>try the input</p><br /><input type="text" id="in"><br><br /><label id="Result"></label><br /><script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script><br /><script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script><br /><script><br /><br />$('#in').bind('input propertychange', function() {<br /> var text = $(this).val();<br /> var t2 = text.replace(/[\\A-Za-z!"£$%^&\-\)\(*+_={};:'@#~,Š\/<>\" "\?|`¬\]\[]/g,'');<br /> $(this).val(t2);<br /><span class="Apple-tab-span" style="white-space: pre;"> </span>$('#Result').text(t2);<br /> <br />});<br /></script><br /><br /></body><br /></html></span></blockquote>
</div>
<div style="text-align: left;">
<br /></div>
<blockquote class="tr_bq">
<blockquote class="tr_bq">
</blockquote>
</blockquote>
Good luck! hope you will find this useful!<br />
<blockquote class="tr_bq">
<blockquote class="tr_bq">
</blockquote>
</blockquote>
<blockquote class="tr_bq">
<blockquote class="tr_bq">
</blockquote>
</blockquote>
</div>
mhhttp://www.blogger.com/profile/00007152277906259288noreply@blogger.com1tag:blogger.com,1999:blog-7577236732891270207.post-46500919427988235722014-01-21T11:52:00.000+01:002014-01-21T11:52:44.285+01:00DSRA0302E: XAException. Error code: XAER_RMERR (-3). Exception: <div dir="ltr" style="text-align: left;" trbidi="on">
It's been published in several places, I guess but for the sake of simplicity:<br />
<br />
Websphere 8.5, Oracle 11.2, datasource and transactions. You start your WAS server and see this in the logs:<br />
<br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;">[20.01.14 13:36:43:670 CET] 0000004f WSRdbXaResour E DSRA0304E: Wystapil wyjatek XAException. Tresc i szczególy wyjatku XAException: The cause is : null.</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;">[20.01.14 13:36:43:671 CET] 0000004f WSRdbXaResour E DSRA0302E: Wystapil wyjatek XAException. Kod bledu: XAER_RMERR (-3). Wyjatek: <null></span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;">[20.01.14 13:36:43:671 CET] 0000004f XARminst E WTRN0037W: Usluga transakcji napotkala blad w operacji xa_recover. Zasób: com.ibm.ws.rsadapter.spi.WSRdbXaResourceImpl@c6a9f4fb. Kod bledu: XAER_RMERR. Dane sledzenia stosu wyjatku: javax.transaction.xa.XAException</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>at oracle.jdbc.xa.OracleXAResource.recover(OracleXAResource.java:709)</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>at com.ibm.ws.rsadapter.spi.WSRdbXaResourceImpl.recover(WSRdbXaResourceImpl.java:1116)</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>at com.ibm.ws.Transaction.JTA.XARminst.recover(XARminst.java:141)</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>at com.ibm.ws.Transaction.JTA.XARecoveryData.recover(XARecoveryData.java:716)</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>at com.ibm.tx.jta.impl.PartnerLogTable.recover(PartnerLogTable.java:431)</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>at com.ibm.tx.jta.impl.RecoveryManager.resync(RecoveryManager.java:1534)</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>at com.ibm.tx.jta.impl.RecoveryManager.performResync(RecoveryManager.java:2267)</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>at com.ibm.ws.tx.jta.RecoveryManager.performResync(RecoveryManager.java:117)</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>at com.ibm.tx.jta.impl.RecoveryManager.run(RecoveryManager.java:2220)</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>at java.lang.Thread.run(Thread.java:772)</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"><br /></span>
<span style="font-family: inherit;">the key is:</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"><b><br /></b></span>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"><b>javax.transaction.xa.XAException</b></span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"><b><span class="Apple-tab-span" style="white-space: pre;"> </span>at oracle.jdbc.xa.OracleXAResource.recover(OracleXAResource.java:709)</b></span><br />
<span style="font-family: inherit;"><br /></span>
<span style="font-family: inherit;">as there are some pending, unrecoverable transaction in the transaction log. there are two ways to deal with it:</span><br />
<span style="font-family: inherit;">- start your server, nevermind your business applications not working, go to console, </span>Application servers > server1 > Transaction service, then to Runtime tab and there you can see some options to manually manage pending troublesome transactions:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-zClOlE0Rfzc/Ut5Q0fEnFSI/AAAAAAAAITI/y8ZH-u-t6YQ/s1600/2014-01-21_screen_002.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://2.bp.blogspot.com/-zClOlE0Rfzc/Ut5Q0fEnFSI/AAAAAAAAITI/y8ZH-u-t6YQ/s1600/2014-01-21_screen_002.jpg" height="147" width="640" /></a></div>
<br />
- or alternate: stop server, go to <profileroot>/tranlog/(respective path)/tranlog & partnerlog, delete tranlog and partnerlog files. start server.<br />
<br />
Now, the way no. 2 is advisable for development systems, where any data loss is irrelevant. For production, proceed with care and try way no.1 first. Should it fail, go hardcore and delete tranlog.<br />
Good luck.<br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"><br /></span></div>
mhhttp://www.blogger.com/profile/00007152277906259288noreply@blogger.com25tag:blogger.com,1999:blog-7577236732891270207.post-53811502332471792872013-11-29T11:17:00.003+01:002013-11-29T11:18:47.496+01:00TSPM 7.1 installation - ADFS0124 Error occurred during upload to: upload/cells/nullNode01Cell/rtss/security-services.xmi. Exception: java.net.UnknownHostException: null<div dir="ltr" style="text-align: left;" trbidi="on">
<div style="text-align: justify;">
<span style="font-family: Trebuchet MS, sans-serif;">So, this time something about powerful security tool from IBM - Tivoli Security Policy Manager 7.1. This software let's you manage your security policies (surprisingly :) on various servers from single point of authoring and distribution (PAP, PDP). It can manage multiple policy enforcement points (PEPs) on the online and offline basis (online means pushing policies to PEPs on-the-go, while offline means that you can author policies on PAP and distribute them asynchronously, or even over portable memory (when your PEP is in DMZ or something like that). Above features are very <a href="http://www-03.ibm.com/software/products/en/security-policy-manager/">well described on IBM pages</a>, so let's cut this here.</span></div>
<div style="text-align: justify;">
<span style="font-family: Trebuchet MS, sans-serif;"><br /></span></div>
<div style="text-align: justify;">
<span style="font-family: Trebuchet MS, sans-serif;">The problem I had with installation was a bit surprising (believe me, I overcame numerous problems with this product before, that included temporarily giving up on installing TSPM 7.1 on 64bit Linux - which is possible only after adding 32bit compatibility libraries), so when this time it went smooth, up to some point, I was very disappointed to see it failed again.</span></div>
<div style="text-align: justify;">
<span style="font-family: Trebuchet MS, sans-serif;"><br /></span></div>
<div style="text-align: justify;">
<span style="font-family: Trebuchet MS, sans-serif;">Quick look in the log and voila:</span></div>
<div style="text-align: justify;">
<span style="font-family: Trebuchet MS, sans-serif;"><br /></span></div>
<blockquote class="tr_bq">
<span style="font-family: Trebuchet MS, sans-serif; font-size: xx-small;">AUDIT: ADFS0124<br />Nov 15, 2013 4:25:31 PM com.tivoli.am.fim.rte.config.impl.RuntimeConfigurationImpl putConfiguration<br />INFO: com.tivoli.am.fim.rte.config.exception.RuntimeConfigurationRepositoryException: +null<br /> at com.tivoli.am.fim.rte.config.impl.RuntimeConfigurationImpl.putConfiguration(RuntimeConfigurationImpl.java:491)<br /> at com.ibm.tspm.installer.platform.actions.ConfigReposUtils.putConfiguration(Unknown Source)<br /> at com.ibm.tspm.installer.platform.actions.ConfigReposUtils.putConfiguration(Unknown Source)<br /> at com.ibm.tspm.installer.platform.actions.ConfigReposUtils.pushFiles(Unknown Source)<br /> at com.ibm.tspm.installer.platform.actions.ConfigReposUtils.install(Unknown Source)<br /> at com.ibm.tspm.installer.platform.actions.ConfigReposUtils.run(Unknown Source)<br /> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)<br /> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79)<br /> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)<br /> at java.lang.reflect.Method.invoke(Method.java:618)<br /> at com.ibm.cic.agent.core.commonNativeInstallAdapter.Invoke$InvokeRunnable.run(Invoke.java:189)<br /> at java.lang.Thread.run(Thread.java:810)<br />Caused by: java.security.PrivilegedActionException: com.ibm.websphere.management.exception.RepositoryException: com.ibm.websphere.management.filetransfer.client.TransferFailedException: Error occurred during upload to: upload/cells/nullNode01Cell/rtss/security-services.xmi. Exception: java.net.UnknownHostException: null<br /> at com.ibm.ws.security.auth.ContextManagerImpl.runAsSystem(ContextManagerImpl.java:4265)<br /> at com.tivoli.am.fim.rte.config.impl.RuntimeConfigurationImpl.putConfiguration(RuntimeConfigurationImpl.java:487)<br /> ... 11 more<br />Caused by: com.ibm.websphere.management.exception.RepositoryException: com.ibm.websphere.management.filetransfer.client.TransferFailedException: Error occurred during upload to: upload/cells/nullNode01Cell/rtss/security-services.xmi. Exception: java.net.UnknownHostException: null<br /> at com.ibm.ws.management.repository.client.JMXRemoteConfigRepositoryClient.upload(JMXRemoteConfigRepositoryClient.java:195)<br /> at com.ibm.ws.management.repository.client.JMXRemoteConfigRepositoryClient.create(JMXRemoteConfigRepositoryClient.java:204)<br /> at com.tivoli.am.fim.rte.config.impl.PrivilegedConfigCreateAction.run(PrivilegedConfigCreateAction.java:41)<br /> at com.ibm.ws.security.auth.ContextManagerImpl.runAsSystem(ContextManagerImpl.java:4253)<br /> ... 12 more<br /><b><u>Caused by: com.ibm.websphere.management.filetransfer.client.TransferFailedException: Error occurred during upload to: upload/cells/nullNode01Cell/rtss/security-services.xmi. Exception: java.net.UnknownHostException: null<br /> at com.ibm.ws.management.filetransfer.client.FileTransferClientImpl.uploadFile(FileTransferClientImpl.java:275)<br /> at com.ibm.ws.management.repository.client.JMXRemoteConfigRepositoryClient.upload(JMXRemoteConfigRepositoryClient.java:189)<br /> ... 15 more</u></b></span></blockquote>
<div style="text-align: justify;">
<span style="font-family: Trebuchet MS, sans-serif;">Why would it have problem with hostname when I'm installing locally? Of course! Quick glance on /etc/hosts revealed that only loopback address has been defined, so no hostname could be resolved to any ip address, except for localhost. What is this needed for? Behind the scenes of Installation Manager, there's some work done over wsadmin (WAS administrative client), which essentially needs network infrastructure working fine, that includes possibility to resolve system's own hostname. If that fails, wsadmin has no point to connect to. </span></div>
<div style="text-align: justify;">
<span style="font-family: Trebuchet MS, sans-serif;"><br /></span></div>
<div style="text-align: justify;">
<span style="font-family: Trebuchet MS, sans-serif;">Adding machine's own ip and hostname (both fully qualified and short) to /etc/hosts solved the issue.</span></div>
<div style="text-align: justify;">
<span style="font-family: Trebuchet MS, sans-serif;"><br /></span></div>
<div style="text-align: justify;">
<span style="font-family: Trebuchet MS, sans-serif;">Now, one interesting thing to add here is that problem can be seen even by looking oin WebSphere cell name. It is:</span></div>
<div style="text-align: justify;">
<b style="text-align: left;"><span style="font-family: Trebuchet MS, sans-serif;"><br /></span></b></div>
<div style="text-align: justify;">
<b style="text-align: left;"><span style="font-family: Trebuchet MS, sans-serif;">nullNode01Cell</span></b></div>
<div style="text-align: justify;">
<b style="text-align: left;"><span style="font-family: Trebuchet MS, sans-serif;"><br /></span></b></div>
<div style="text-align: justify;">
<span style="text-align: left;"><span style="font-family: Trebuchet MS, sans-serif;">and it is very wrong - it usually (by default, at least) should contain hostname - which in that case was missing and replaced by null. Of course you may fancy naming your machine "null" but that was not the case.</span></span></div>
<div style="text-align: justify;">
<span style="text-align: left;"><span style="font-family: Trebuchet MS, sans-serif;"><br /></span></span></div>
<div style="text-align: justify;">
<span style="text-align: left;"><span style="font-family: Trebuchet MS, sans-serif;">Ok, so good luck installing TSPM 7.1. </span></span></div>
<div style="text-align: justify;">
<span style="font-family: Trebuchet MS, sans-serif;"><br /></span></div>
<div style="text-align: justify;">
<br /></div>
</div>
mhhttp://www.blogger.com/profile/00007152277906259288noreply@blogger.com3tag:blogger.com,1999:blog-7577236732891270207.post-53751216127349969582013-11-05T15:15:00.000+01:002013-11-29T10:56:03.073+01:00Android SDK - AVD virtual SDcard image for download (mksdcard Windows 7 x64)<div dir="ltr" style="text-align: left;" trbidi="on">
I started some experiments with Android SDK recently, and came against the problem with creating virtual sdCard image for usage by the AVD (Android Virtal Device). Unfortunately <i>mksdcard</i> utility kept either returning errors or just doing nothing, I had to go some lengths and try to create sdcard image on linux 32bit. I did not find any relevant hits on google how to work around my issue (create virtual sd card on Windows 7 64bit with mksdcard).<br />
<br />
Anyway, here it's - available for you to download, it has just 120Megs to be handy.<br />
<br />
<a href="http://baranowscy.pl/sdcard.img">sdcard.img</a> </div>
mhhttp://www.blogger.com/profile/00007152277906259288noreply@blogger.com0tag:blogger.com,1999:blog-7577236732891270207.post-525227126149548822013-10-30T16:47:00.002+01:002013-10-30T16:47:24.485+01:00CRIMA5096821AE during WebSphere 8 update/fixpack or other Installation Manager operations<div dir="ltr" style="text-align: left;" trbidi="on">
You might happen to be updating your WAS 8 installation with a fixpack, and more, you may want to do it with iclm tool, instead of IM GUI.<br />
<br />
First of all, you need to be sure which package you are choosing from the repo, and to be sure you need to read the content of the repository with:<br />
<br />
<span style="background-color: white; font-family: 'Courier New', Courier, monospace; font-size: 13px; line-height: 16.625px;">./imcl listAvailablePackages -repositories </span><var class="keyword varname" style="background-color: white; font-family: 'Courier New', Courier, monospace; font-size: 13px; line-height: 16.625px;">source_repository1</var><span style="background-color: white; font-family: 'Courier New', Courier, monospace; font-size: 13px; line-height: 16.625px;">,</span><var class="keyword varname" style="background-color: white; font-family: 'Courier New', Courier, monospace; font-size: 13px; line-height: 16.625px;">source_repository2</var><br />
<br />
also, you need to be sure what is the exact signature of the packages you have installed:<br />
<br />
<span style="background-color: white; font-family: 'Courier New', Courier, monospace; font-size: 13px; line-height: 16.625px;">./imcl listInstalledPackages -features -long</span><br />
<br />
After you make sure you pick the ones you have and need, you do this (exemplary packages):<br />
<br />
./imcl install com.ibm.websphere.ND.v80_8.0.7.20130725_2248 -installationDirectory /opt/IBM/WebSphere8/AppServer -repositories /opt/was8inst –acceptLicense<br />
<br />
And, you might run into that error (exact paths vary from your system):<br />
<br />
CRIMA5096821AE ERROR: Error updating.<br />
<br />
CRIMA5096821AE ERROR: Error getting file for installation: 'jar file com.ibm.was.backup.nsf_8.0.4.20120410_0000' not found in /var/tmp/IBM/IMShared..<br />
<br />
CRIMA5096821AE 'jar file com.ibm.was.backup.nsf_8.0.4.20120410_0000' not found in /var/tmp/IBM/IMShared.<br />
<br />
In that case, you might start to worry, because most probably somebody deleted IMShared directory from your filesystem. And this is very bad thing, since Installation Manager needs this to operate on already installed packages. It stores vital data for IM operation, such as sychronization repos, libraries etc.<br />
DO NOT REMOVE IT or you won't be able to use your IM with existing installation (to be precise: particular software packages for which this particular IMShared directory was chosen, as this may vary between packages, using the same always is a default).<br />
<br />
There's nothing but one thing you can do about it - if you happen to work in multiple machine environment, you might have different machine with identical software set installed (like prod/dev/test systems). In that case, you might try to copy IMShared directory from other machine with identical set and in MIGHT work. Not guaranteed, but sometimes it's a last resort.<br />
<br />
Good luck!<br />
<br />
Couple of links on the topic:<br />
<a href="http://www-01.ibm.com/support/docview.wss?uid=swg21444138">http://www-01.ibm.com/support/docview.wss?uid=swg21444138</a><br />
<a href="http://pic.dhe.ibm.com/infocenter/install/v1r2/index.jsp?topic=/com.ibm.cic.agent.ui.doc/topics/c_install_location.html">http://pic.dhe.ibm.com/infocenter/install/v1r2/index.jsp?topic=/com.ibm.cic.agent.ui.doc/topics/c_install_location.html</a><br />
<br /></div>
mhhttp://www.blogger.com/profile/00007152277906259288noreply@blogger.com0tag:blogger.com,1999:blog-7577236732891270207.post-29765888283320866702013-10-02T15:09:00.000+02:002013-10-23T12:14:14.731+02:00WAS 8.5 Trace missing - SLF4J: Class path contains multiple SLF4J bindings<div dir="ltr" style="text-align: left;" trbidi="on">
<span style="font-family: Georgia, Times New Roman, serif;">It's been quite long since I posted here. Yet I have one new tip for you today:</span><br />
<span style="font-family: Georgia, Times New Roman, serif;"><br />
The problem was that WebSphere 8.5 server did not recognize components to trace after application deployment, and after finally appearing in the traceable components tree did not log all expected output to trace log. As a result we wasn't able to troubleshoot the installation, not to mention that some of the log output was required by defined use cases of the designed solution.</span><br />
<span style="font-family: Georgia, Times New Roman, serif;"><br />
After some search, asking here and there, a colleague of mine (thanks, Agnieszka!) noticed the following entries in the SystemOut.log file of the server when the troublesome application was deployed:</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"><br /></span>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;">10/2/13 13:42:10:331 CEST] 00000042 SystemErr R <b>SLF4J: Class path contains multiple SLF4J bindings</b>.</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;">[10/2/13 13:42:10:331 CEST] 00000042 SystemErr R SLF4J: Found binding in [bundleresource://243.fwk-1319487885:1/org/slf4j/impl/StaticLoggerBinder.class]</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;">[10/2/13 13:42:10:331 CEST] 00000042 SystemErr R <b>SLF4J: Found binding in [wsjar:file:/opt/ibm/WebSphere/AppServer/profiles/AppSrv01/installedApps/localhostNode01Cell/xxxxx/lib/slf4j-jdk14-1.6.6.jar!/org/slf4j/impl/StaticLoggerBinder.class]</b></span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;">[10/2/13 13:42:10:332 CEST] 00000042 SystemErr <b> R SLF4J: Found binding in [wsjar:file:/opt/ibm/WebSphere/AppServer/profiles/AppSrv01/installedApps/localhostNode01Cell/xxxxx/lib/slf4j-log4j12-1.7.2.jar!/org/slf4j/impl/StaticLoggerBinder.class]</b></span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;">[10/2/13 13:42:10:332 CEST] 00000042 SystemErr R SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;">[10/2/13 13:42:10:357 CEST] 00000042 SystemErr R SLF4J: Actual binding is of type [org.slf4j.impl.JDK14LoggerFactory]</span><br />
<span style="font-family: 'Trebuchet MS', sans-serif; font-size: x-small;"><br /></span><span style="font-family: Georgia, Times New Roman, serif;">
and apparently this was causing the server to make wrong class pickup the logging (and hence missing output as that class missed appropriate configuration).</span><br />
<span style="font-family: Georgia, Times New Roman, serif;"><br />
I came up with the idea of removing one of the conflicting classes from ear with console option "Remove file" and selecting whole jar (<b style="font-size: small;">lib/slf4j-log4j12-1.7.2.jar</b>). After application restart logging started to work as expected!</span><br />
<span style="font-family: Georgia, Times New Roman, serif;"><br />
Good luck!</span><br />
<span style="font-family: Georgia, Times New Roman, serif;"><br />
<span style="font-size: x-small;">Env: WebSphere 8.5.0.2 ND, Linux rhel 6 64bit, application build with Maven (some predefined class includes defined).</span></span></div>
mhhttp://www.blogger.com/profile/00007152277906259288noreply@blogger.com1tag:blogger.com,1999:blog-7577236732891270207.post-8294804450486978292013-05-29T10:33:00.003+02:002013-05-29T10:33:56.923+02:00my technote has been published!So, the single <a href="http://middlewarehints.blogspot.com/2011/12/websphere-console-error-srve0260e.html" target="_blank">most popular post</a> from my blog has been accepted as IBM Support technote.<br />
<br />
You can ssee it here: <a href="http://www-01.ibm.com/support/docview.wss?uid=swg21611994" target="_blank">User cannot log into console due to SRVE0260E error</a><br />
<br />
Not a big thing, but still, nice :)mhhttp://www.blogger.com/profile/00007152277906259288noreply@blogger.com0tag:blogger.com,1999:blog-7577236732891270207.post-64386583070435180502013-05-21T10:59:00.005+02:002013-05-21T10:59:58.442+02:00CRRTC3505E: The following fetch destination cannot be deleted - Rational Build EngineIf you happen to have problem running your build in RTC and your builds end up with:<br />
<br />
<br />
<i><span style="font-size: x-small;">2013-05-21 10:29:15 [Jazz build engine] Deleting fetch destination "/db2data/BuildWorkspace" before fetching ...</span></i><br />
<i><span style="font-size: x-small;">com.ibm.team.build.common.TeamBuildException: CRRTC3505E: The following fetch destination cannot be deleted: "/db2data/BuildWorkspace". For more details, open the help system and search for CRRTC3505E.</span></i><br />
<i><span style="font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>at com.ibm.team.build.internal.engine.JazzScmPreBuildParticipant.preBuild(JazzScmPreBuildParticipant.java:218)</span></i><br />
<i><span style="font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>at com.ibm.team.build.internal.engine.BuildLoop.invokePreBuildParticipants(BuildLoop.java:881)</span></i><br />
<i><span style="font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>at com.ibm.team.build.internal.engine.BuildLoop$2.run(BuildLoop.java:685)</span></i><br />
<i><span style="font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>at java.lang.Thread.run(Thread.java:738)</span></i><br />
<br />
try to kill existing engine process and restart it anew:<br />
<br />
<b><span style="font-family: Courier New, Courier, monospace;">ps -ef | grep jbe</span></b><br />
<b><span style="font-family: Courier New, Courier, monospace;"><br /></span></b>
<b><span style="font-family: Courier New, Courier, monospace;">kill -9 <pid from above></span></b><br />
<b><span style="font-family: Courier New, Courier, monospace;"><br /></span></b>
Good luck, leave a comment!<br />
mhhttp://www.blogger.com/profile/00007152277906259288noreply@blogger.com0tag:blogger.com,1999:blog-7577236732891270207.post-81694721657886634572013-05-15T15:44:00.000+02:002013-06-06T00:09:13.349+02:00libXm.so.3: cannot open shared object file & libXm.so.3: wrong ELF class: ELFCLASS64 (RRDI 2.0.1 installation) Just today I wanted to install Rational Reporting for Development Intelligence (RRDI) 2.0.1 on 64bit SuSE 11. I got my repository, I got Installation Manager <b>1.6 (it's a must!)</b> uznipped and started the ride.<br />
<br />
The first error IM thrown at me was "Installation failed with code status =127" and investigation in the IM log files (/var/ibm/InstallationManager/logs/native/...) shown:<br />
<br />
<i><b><span style="font-size: x-small;">/opt/IBM/RRDI/install/cognos_bi/linuxi38664h/issetup: error while loading shared libraries: libXm.so.3: cannot open shared object file: No such file or directory</span></b></i><br />
<i><b><span style="font-size: x-small;"><br /></span></b></i>
So, I looked google up and found that I'm missing some libraries for my system, namely:<br />
<br />
<span class="textblack">Open Motif 2.2.4 Libraries (openmotif22-libs-2.2.4-189.1.i586.rpm)</span><br />
<span class="textblack"><br /></span>
<span class="textblack">After getting and installing it (for 64bit) I rerun the installation....and failed again. I found then some tip to link libraries from /usr/lib64 into /usr/lib and during next installation attempt I ran into:</span><br />
<span class="textblack"><br /></span>
<span class="textblack"><b><i><span style="font-size: x-small;">/opt/IBM/RRDI/install/cognos_bi/linuxi38664h/issetup: error while loading shared libraries: libXm.so.3: wrong ELF class: ELFCLASS64</span></i></b></span><br />
<span class="textblack"><b><i><span style="font-size: x-small;"><br /></span></i></b></span>
<span class="textblack">So, fine, some progress but different error :) Searched again, and found that this means wrong bitness of the libraries, so I went back to RPM search and got <b>32bit</b> libraries, unlinked those 64bit from /usr/lib, installed the package and...this time success! I'm no Linux expert, but that occured a bit strange to me, that I eventually solved it by installing 32bit libs on 64bit system. Anyway, should you run into the same problem, perhaps this helps you.</span><br />
<span class="textblack"><br /></span>
<span class="textblack">Good luck, comments welcome!</span>mhhttp://www.blogger.com/profile/00007152277906259288noreply@blogger.com28tag:blogger.com,1999:blog-7577236732891270207.post-88288416177348107932013-03-15T10:28:00.001+01:002013-03-15T10:28:13.436+01:00Google, don't take Reader away from us!As you may know, Google wants to close Google Reader service, which is widely used and highly praised.<br />
<br />
You may want to contribute to possible prolonging of this tool of choice of many internauts <a href="https://docs.google.com/spreadsheet/viewform?hl=en_US&formkey=dE16SFVla3JFZ1lwTkxGRWN2SkZtb2c6MA#gid=0" target="_blank">here</a>.<br />
<br />
<br />mhhttp://www.blogger.com/profile/00007152277906259288noreply@blogger.com0tag:blogger.com,1999:blog-7577236732891270207.post-80477019804379689242013-03-05T13:46:00.001+01:002013-03-05T15:16:46.235+01:00WAS 8.5 profile creation sample response file<div style="text-align: justify;">
I looked over the net for sample response files for profile creation in WAS 8.5, but I found none. Well, I didn't expect much of a revolution in comparison to V7 or V8, but still, better be safe than sorry :) </div>
<br />
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
So I ended up converting <a href="http://pic.dhe.ibm.com/infocenter/wasinfo/v8r5/topic/com.ibm.websphere.nd.doc/ae/rxml_manageprofiles.html" target="_blank">possible listed manageprofiles flags</a> into response file entries, in a traditional manner. The result was as follows and you can safely use it as a starting point for your profile management automation.</div>
<br />
<br />
<br />
<i><b><span style="font-size: x-small;">#profile name and capabilities</span></b></i><br />
<i><span style="font-size: x-small;">profileName=P01Dev</span></i><br />
<i><span style="font-size: x-small;">profilePath=/opt/IBM/WebSphere/AppServer85/profiles/P01Dev</span></i><br />
<i><span style="font-size: x-small;">templatePath=/opt/IBM/WebSphere/AppServer85/profileTemplates/default</span></i><br />
<i><b><span style="font-size: x-small;">#location and names</span></b></i><br />
<i><span style="font-size: x-small;">hostName=chronos.warszawa.pl.ibm.com</span></i><br />
<i><span style="font-size: x-small;">nodeName=P01DevNode</span></i><br />
<i><span style="font-size: x-small;">cellName=P01DevCell</span></i><br />
<i><span style="font-size: x-small;">serverName=P01DevS01</span></i><br />
<i><b><span style="font-size: x-small;">#starting port</span></b></i><br />
<i><span style="font-size: x-small;">startingPort=4000</span></i><br />
<i><b><span style="font-size: x-small;">#certificates</span></b></i><br />
<i><span style="font-size: x-small;">personalCertDN=cn=P01DevS01\\,ou=Root=Certificate\\,ou=P01DevNode\\,ou=P01DevCell\\,o=IBM\\,c=PL</span></i><br />
<i><span style="font-size: x-small;">signingCertDN=cn=P01DevRoot\\,ou=Root=Certificate\\,ou=P01DevNode\\,ou=P01DevCell\\,o=IBM\\,c=PL</span></i><br />
<i><b><span style="font-size: x-small;">#standard WAS keystore/truststore password</span></b></i><br />
<i><span style="font-size: x-small;">keyStorePassword=WebAS</span></i><br />
<i><b><span style="font-size: x-small;">#admin security</span></b></i><br />
<i><span style="font-size: x-small;">enableAdminSecurity=true</span></i><br />
<i><span style="font-size: x-small;">adminUserName=devadmin</span></i><br />
<i><span style="font-size: x-small;">adminPassword=<yourpassword></span></i><br />
<div>
<br /></div>
<div>
good luck, and leave a comment if you made some use of this content. and don't forget to <a href="http://www.facebook.com/pages/Middlewaresecurity-technical-blog" target="_blank">like this page on facebook</a> :)</div>
mhhttp://www.blogger.com/profile/00007152277906259288noreply@blogger.com4tag:blogger.com,1999:blog-7577236732891270207.post-63179423154285812192013-02-18T10:12:00.002+01:002013-02-18T10:12:44.822+01:00http status 500: exception on request for [/web] : null - Rational Jazz/CLM 4.0.1<div dir="ltr" style="text-align: left;" trbidi="on">
<div style="text-align: justify;">
If you happen to deploy CLM 4.0.1 (formerly known as Jazz Team Server/Requirements Composer/Requirements Management etc.) and when you further try to customize it (in my case customization was attempt to deploy BuildForge Connect Adapter for CLM) you may run inot some CLM dashboard pages unresponsive. Particularly, admin.war application stops responding and seems to have some sort of authentication issues. In my case, when I tried to go to Home->Collaborative Lifecycle Project Management page, I received the follwing error in the browser:</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Http status 500: exception on request for [/web] : null</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
and SystemOut.log contained a bunch of exceptions:</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<span style="font-size: x-small;"><i>00000044 zazl E org.dojotoolkit.zazl.internal.RhinoDTLHandler runDTLScript Exception on request for [/projects/new] </i></span><i style="font-size: small;">java.lang.NullPointerException</i></div>
<div style="text-align: justify;">
<span style="font-size: x-small;"><i><br /></i></span>
</div>
<div style="text-align: justify;">
<span style="font-size: x-small;"><i>00000044 SystemOut O 15:39:08,820 [WebContainer : 14] ERROR com.ibm.team.lpa.config - An uncaught Exception has been thrown </i></span><i style="font-size: small;">com.ibm.team.jfs.app.http.HttpInternalServerErrorException: Exception on request for [/projects/new]</i></div>
<br />
<div style="text-align: justify;">
<span style="font-size: x-small; font-style: italic;"><br /></span></div>
<div style="text-align: justify;">
<span style="font-size: x-small; font-style: italic;"><br /></span></div>
<br />
<div style="text-align: justify;">
<span style="font-size: x-small;"><i>00000044 zazl E org.dojotoolkit.zazl.internal.RhinoDTLHandler runDTLScript Exception on request for [processTemplate]</i></span></div>
<div style="text-align: justify;">
<i style="font-size: small;"> java.lang.NullPointerException</i></div>
<br />
<div style="text-align: justify;">
<span style="font-size: x-small; font-style: italic;"><br /></span></div>
<div style="text-align: justify;">
<i style="font-size: small;">0000004f zazl E org.dojotoolkit.zazl.internal.RhinoDTLHandler runDTLScript Exception on request for [/web]</i></div>
<br />
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
etc.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
I wondered what to do about it, and finally I saw that all troublesome pages are in /admin context. As my CLM was deployed to WAS 8 server, I simply <b>redeployed (by Update) admin.war </b>application from the console. It worked as a wonder!</div>
<div style="text-align: justify;">
to do this go to Websphere applications -> tick admin.war, click Update and find original file in</div>
<div style="text-align: justify;">
<CLMInstallDir>/server/webapps, proceed through Nexts, and save configuration afterwards. Then restart application and it should be working.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
This trick also works with jts.war application, if you happen to have any trouble with it (with similar errors). Of course, I assume that your previous configuration was in general ok, because war Update does not fix any database content issues and so on. (for db/config problems you should use <b><i>repotools</i></b> but that's another story)</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Hope this helps, good luck and leave a comment!</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
</div>
mhhttp://www.blogger.com/profile/00007152277906259288noreply@blogger.com0tag:blogger.com,1999:blog-7577236732891270207.post-62950648256479347642013-01-22T16:09:00.000+01:002013-01-22T16:09:05.299+01:00TAMeSSO 8.2 configuration SQL0613N SQLSTATE=54008<div dir="ltr" style="text-align: left;" trbidi="on">
<div style="text-align: justify;">
I have just ran into this problem today, when configuring my test instance of TAMeSSO (lately known as ISAM - IBM Security Access Manager for Enterprise Single Sign-on).</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
After installing WAS7 and IMS server package, I tried to configure my IMS server. But it failed with error SQL06013N on WAS side, when attempting to create DB tables (on the screen you can see below, procedure dropped with error at ~6%)</div>
<div style="text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
<a href="http://4.bp.blogspot.com/-m2b8qakyB9Y/UP6p6alTERI/AAAAAAAAGf4/WNc2X96hCN4/s1600/2013-01-21_screen_010.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://4.bp.blogspot.com/-m2b8qakyB9Y/UP6p6alTERI/AAAAAAAAGf4/WNc2X96hCN4/s1600/2013-01-21_screen_010.jpg" height="418" width="640" /></a></div>
<div style="text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div style="text-align: justify;">
After a quick search and a conversation with a colleague I found solution: to increase pagesize in your database to at least 8K. Actually, it is listed as requirement here:</div>
<div style="text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
<a href="http://1.bp.blogspot.com/-5U31OYrlzGw/UP6qW-VL6AI/AAAAAAAAGgA/2IHF_UVbG4k/s1600/2013-01-22_screen_012.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://1.bp.blogspot.com/-5U31OYrlzGw/UP6qW-VL6AI/AAAAAAAAGgA/2IHF_UVbG4k/s1600/2013-01-22_screen_012.jpg" height="128" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
but there is a slight chance you might omit that :) (I did...)</div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
So, be sure that your database have been created with pagesize of 8K. If not, drop it and recreate it with a proper setting. The reason for it being necessary is a requirement for an index tablespace to be large enough to house an indexes for a colums of a specified size. Here it was 1024 VARCHAR + 128 bit for index, which gives over 1024, and hence requires 8K Pagesize. <a href="http://publib.boulder.ibm.com/infocenter/db2luw/v9/index.jsp?topic=%2Fcom.ibm.db2.udb.msg.doc%2Fdoc%2Fsql0614.htm" target="_blank">Details can be found here</a></div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
Good luck and leave a comment if it solved your problem.</div>
<div style="text-align: justify;">
<br /></div>
</div>
mhhttp://www.blogger.com/profile/00007152277906259288noreply@blogger.com0tag:blogger.com,1999:blog-7577236732891270207.post-31944314842989618192013-01-02T16:06:00.001+01:002013-01-02T16:06:11.597+01:00TAM 6.1 - HPDAC0457E The protected object name is invalid. (status 0x1005b1c9) <br />
<div dir="ltr" style="text-align: justify;">
<span style="font-family: Arial; font-size: x-small;">A colleague of mine run today into a problem while trying to attach ACL to a protected object seen in the objectspace tree. Although being "seen" by both WPM console and pdadmin client via </span></div>
<div dir="ltr" style="text-align: justify;">
<span style="font-family: Arial; font-size: x-small;"><br /></span></div>
<div dir="ltr" style="text-align: justify;">
<span style="font-family: Arial; font-size: x-small;"><i>object show /xxx/yyy/subcat</i></span></div>
<div dir="ltr" style="text-align: justify;">
<span style="font-family: Arial; font-size: x-small;"><br /></span></div>
<div dir="ltr" style="text-align: justify;">
<span style="font-family: Arial; font-size: x-small;">command, trying to use </span></div>
<div dir="ltr" style="text-align: justify;">
<span style="font-family: Arial; font-size: x-small;"><br /></span></div>
<div dir="ltr" style="text-align: justify;">
<i><span style="font-family: Arial; font-size: x-small;">acl attach </span><span style="font-family: Arial; font-size: x-small;">/xxx/yyy/subcat ACL_name</span></i></div>
<div dir="ltr" style="text-align: justify;">
<i><span style="font-family: Arial; font-size: x-small;"><br /></span></i></div>
<div dir="ltr" style="text-align: justify;">
<span style="font-family: Arial; font-size: x-small;">resulted in getting below error:</span></div>
<div dir="ltr" style="text-align: justify;">
<span style="font-family: Arial; font-size: x-small;"><br /></span></div>
<div dir="ltr" style="text-align: justify;">
<span style="color: black; font-family: Arial; font-size: x-small;">Error: HPDAC0457E The
protected object name is invalid. (status 0x1005b1c9)</span></div>
<div dir="ltr" style="text-align: justify;">
<span style="color: black; font-family: Arial; font-size: x-small;"><br /></span></div>
<div dir="ltr" style="text-align: justify;">
<span style="color: black; font-family: Arial; font-size: x-small;">At the same time attaching ACLs to parent and child objects was just fine.</span></div>
<div dir="ltr" style="text-align: justify;">
<span style="color: black; font-family: Arial; font-size: x-small;"><br /></span></div>
<div dir="ltr" style="text-align: justify;">
<span style="color: black; font-family: Arial; font-size: x-small;">We checked initial loading scripts, and we found that there were only entries for super- and sub- items, like:</span></div>
<div dir="ltr" style="text-align: justify;">
<span style="color: black; font-family: Arial; font-size: x-small;"><br /></span></div>
<div dir="ltr" style="text-align: justify;">
<span style="color: black; font-family: Arial; font-size: x-small;">/xxx/yyy/ and then for /xxx/yyy/subcat/subsubcat/ but not for the middle one</span></div>
<div dir="ltr" style="text-align: justify;">
<span style="color: black; font-family: Arial; font-size: x-small;"><br /></span></div>
<div dir="ltr" style="text-align: justify;">
<span style="color: black; font-family: Arial; font-size: x-small;">So what was happening was that /xxx/yyy/subcat wasn't really created before, but only was visible as a tree level, because TAM had to show something in that place. Then the fix was easy, we just created the missing object with</span></div>
<div dir="ltr" style="text-align: justify;">
<span style="color: black; font-family: Arial; font-size: x-small;"><br /></span></div>
<div dir="ltr" style="text-align: justify;">
<span style="color: black; font-family: Arial; font-size: x-small;"><i>object create /xxx/yyy/subcat "" 10 ispolicyattachabe yes</i></span></div>
<div dir="ltr" style="text-align: justify;">
<span style="color: black; font-family: Arial; font-size: x-small;"><i><br /></i></span></div>
<div dir="ltr" style="text-align: justify;">
<span style="color: black; font-family: Arial; font-size: x-small;">and then we could successfuly attach ACL to this object.</span></div>
<div dir="ltr" style="text-align: justify;">
<span style="color: black; font-family: Arial; font-size: x-small;"><br /></span></div>
<div dir="ltr" style="text-align: justify;">
<span style="color: black; font-family: Arial; font-size: x-small;">Hope this helps, enjoy and leave a comment!</span></div>
mhhttp://www.blogger.com/profile/00007152277906259288noreply@blogger.com0tag:blogger.com,1999:blog-7577236732891270207.post-19551222666257902482012-09-20T12:18:00.001+02:002012-12-03T10:52:50.468+01:00 commonDBUtility.ant Source file does not exist! during WebSphere ESB DMgr creation<div dir="ltr" style="text-align: left;" trbidi="on">
When creating ESB DMgr profile you may encounter the following error in the log:<br />
<br />
<br />
<span style="font-size: x-small;"><date>Sep 20, 2012 10:47:53 AM</date></span><br />
<span style="font-size: x-small;"> <millis>1348130873432</millis></span><br />
<span style="font-size: x-small;"> <sequence>10111</sequence></span><br />
<span style="font-size: x-small;"> <logger>com.ibm.ws.install.configmanager.actionengine.ant.utils.ANTLogToCmtLogAdapter</logger></span><br />
<span style="font-size: x-small;"> <level>WARNING</level></span><br />
<span style="font-size: x-small;"> <class>com.ibm.ws.install.configmanager.logging.LogUtils</class></span><br />
<span style="font-size: x-small;"> <method>logException</method></span><br />
<span style="font-size: x-small;"> <thread>0</thread></span><br />
<span style="font-size: x-small;"> <message>/opt/websph/ESB/util/dbUtils/profileHelpers/commonDBUtility.ant:985: Source file does not exist!</span><br />
<span style="font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>at org.apache.tools.ant.taskdefs.SQLExec.execute(SQLExec.java:324)</span><br />
<span style="font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275)</span><br />
<span style="font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>at org.apache.tools.ant.Task.perform(Task.java:364)</span><br />
<span style="font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>at org.apache.tools.ant.Target.execute(Target.java:341)</span><br />
<span style="font-size: x-small;"><br /></span>
<span style="font-size: x-small;">(...)</span><br />
<br />
and resulting:<br />
<br />
<br />
<span style="font-size: x-small;"><record></span><br />
<span style="font-size: x-small;"> <date>Sep 20, 2012 10:47:53 AM</date></span><br />
<span style="font-size: x-small;"> <millis>1348130873556</millis></span><br />
<span style="font-size: x-small;"> <sequence>10164</sequence></span><br />
<span style="font-size: x-small;"> <logger>com.ibm.wsspi.profile.WSProfileCLI</logger></span><br />
<span style="font-size: x-small;"> <level>INFO</level></span><br />
<span style="font-size: x-small;"> <class>com.ibm.wsspi.profile.WSProfileCLI</class></span><br />
<span style="font-size: x-small;"> <method>invokeWSProfile</method></span><br />
<span style="font-size: x-small;"> <thread>0</thread></span><br />
<span style="font-size: x-small;"> <message>Returning with return code: INSTCONFFAILED</message></span><br />
<span style="font-size: x-small;"></record></span><br />
<span style="font-size: x-small;"></log></span><br />
<br />
This happened to my colleague, who was configuring ESB DMgr against Derby network server. We spent a while figuring out what's wrong. Closer look into logs couple of lines before first error showed<br />
<br />
<span style="font-size: x-small;"><message>Target stopped for: init.db - SUCCESS</message></span><br />
<span style="font-size: x-small;"><br /></span>
so the Derby DB was initialized fine. Right afterwards we found:<br />
<br />
<span style="font-size: x-small;"> <message>Execute SQL script with parameters: JDBCDriver='org.apache.derby.jdbc.ClientDriver' DB_URL='jdbc:derby://localhost:1527//opt/websph/ESB/profiles/Dmgr2/databases/WPRCSDB4' dbUserId='admin' sqlScriptPath='/opt/websph/ESB/profiles/Dmgr2/dbscripts/CommonDB/Derby/WPRCSDB4/createTable_CommonDB.sql' JDBC_DRIVER_FILE_STATIC='/opt/websph/ESB/derby/lib/derbyclient.jar'</message></span><br />
<br />
following this trail I asked my buddy to check dbScriptOutputDir content. Bingo! it contained the following structure:<br />
<div style="text-align: left;">
<span style="font-family: inherit;"><br /></span></div>
<div style="text-align: left;">
<span style="font-family: inherit;"><span style="background-color: white; color: #222222; font-size: 13px;">/opt/websph/ESB</span><wbr style="background-color: white; color: #222222; font-size: 13px;"></wbr><span style="background-color: white; color: #222222; font-size: 13px;">/profiles/Dmgr2</span><wbr style="background-color: white; color: #222222; font-size: 13px;"></wbr><span style="background-color: white; color: #222222; font-size: 13px;">/dbscripts/Comm</span><wbr style="background-color: white; color: #222222; font-size: 13px;"></wbr><span style="background-color: white; color: #222222; font-size: 13px;">onDB/Derby/WPRC</span><wbr style="background-color: white; color: #222222; font-size: 13px;"></wbr><span style="background-color: white; color: #222222; font-size: 13px;">SDB4/CommonDB/D</span><wbr style="background-color: white; color: #222222; font-size: 13px;"></wbr><span style="background-color: white; color: #222222; font-size: 13px;">erby/WPRCSDB4/p</span><wbr style="background-color: white; color: #222222; font-size: 13px;"></wbr><span style="background-color: white; color: #222222; font-size: 13px;">liki.sql</span>
</span></div>
<div style="text-align: left;">
<span style="background-color: white; color: #222222; font-size: 13px;"><span style="font-family: inherit;"><br /></span></span></div>
<div style="text-align: left;">
<span style="background-color: white; color: #222222;"><span style="font-family: inherit;">with clearly abundant subtree portion. The reason for this was that in the manageprofiles </span></span>dbScriptOutputDir parameter contained unnecessary tail that is created automatically. Hence, ant script failed not finding sql files where expected. Changing</div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
<span style="font-family: inherit;"><span style="background-color: white; color: #222222; font-size: 13px;">./manageprofile</span><wbr style="background-color: white; color: #222222; font-size: 13px;"></wbr><span style="background-color: white; color: #222222; font-size: 13px;">s.sh -create </span>
<span style="background-color: white; color: #222222; font-size: 13px;">(...)</span><span style="background-color: white; color: #222222; font-size: 13px;"> -dbOutputScript</span><wbr style="background-color: white; color: #222222; font-size: 13px;"></wbr><span style="background-color: white; color: #222222; font-size: 13px;">Dir '/opt/websph/ES</span><wbr style="background-color: white; color: #222222; font-size: 13px;"></wbr><span style="background-color: white; color: #222222; font-size: 13px;">B/profiles/Dmgr2</span><span style="background-color: white; color: #222222; font-size: 13px;">/dbscripts/Comm</span><span style="background-color: white; color: #222222; font-size: 13px;">onDB/Derby/WPR</span><wbr style="background-color: white; color: #222222; font-size: 13px;"></wbr><span style="background-color: white; color: #222222; font-size: 13px;">CSDB2'</span>
</span></div>
<div style="text-align: left;">
<span style="background-color: white; color: #222222; font-size: 13px;"><span style="font-family: inherit;"><br /></span></span></div>
<div style="text-align: left;">
<span style="background-color: white; color: #222222;"><span style="font-family: inherit;">to </span></span></div>
<div style="text-align: left;">
<span style="background-color: white; color: #222222; font-size: 13px;"><span style="font-family: inherit;"><br /></span></span></div>
<div style="text-align: left;">
<span style="font-family: inherit;"><span style="background-color: white; color: #222222; font-size: 13px;">./manageprofile</span><wbr style="background-color: white; color: #222222; font-size: 13px;"></wbr><span style="background-color: white; color: #222222; font-size: 13px;">s.sh -create (...)</span><span style="background-color: white; color: #222222; font-size: 13px;"> -dbOutputScript</span><wbr style="background-color: white; color: #222222; font-size: 13px;"></wbr><span style="background-color: white; color: #222222; font-size: 13px;">Dir '/opt/websph/ES</span><wbr style="background-color: white; color: #222222; font-size: 13px;"></wbr><span style="background-color: white; color: #222222; font-size: 13px;">B/profiles/Dmgr</span><wbr style="background-color: white; color: #222222; font-size: 13px;"></wbr><span style="background-color: white; color: #222222; font-size: 13px;">2/dbscripts</span><span style="background-color: white; color: #222222; font-size: 13px;">'</span>
</span></div>
<div style="text-align: left;">
<span style="background-color: white; color: #222222;"><span style="font-family: inherit;"><br /></span></span></div>
<div style="text-align: left;">
<span style="font-family: inherit;"><span style="background-color: white; color: #222222;">did the trick. Please note that InfoCenter says you need to do it wrongly! <a href="http://publib.boulder.ibm.com/infocenter/dmndhelp/v7r0mx/topic/com.ibm.websphere.wesb.doc/doc/cins_profilecreateex.html#cins_profilecreateex__sawesb2defaultparam" target="_blank">Look here</a> (Table 2, </span><span style="background-color: white;">-dbOutputScriptDir description. Thank you Rafał!)</span></span></div>
<div style="text-align: left;">
<span style="background-color: white; color: #222222;"><span style="font-family: inherit;"><br /></span></span></div>
<div style="text-align: left;">
<span style="background-color: white; color: #222222;"><span style="font-family: inherit;">Good luck!</span></span></div>
<br /></div>
mhhttp://www.blogger.com/profile/00007152277906259288noreply@blogger.com0tag:blogger.com,1999:blog-7577236732891270207.post-18479470356474789492012-07-30T12:44:00.003+02:002012-07-30T12:44:24.170+02:00HPDAZ0602E Corrupted file: Insufficient information to contact a Policy Server (SECJ0391E)<div dir="ltr" style="text-align: left;" trbidi="on">
Now, a few words about possible problems when configuring external JACC authorization provider for WebSphere App Server, namely - Tivoli Access Manager. The key issue here always lies in obtaining Policy Server's certificate for JRE to authenticate later on. This can be done in various ways (sslsrvcfg, pdconfig etc.) and obviously, the results may vary depending on the way used - at least it seems so.<br />
Anyway, recently I was asked what may be the reason for the following error appearing in the logs:<br />
<br />
<span style="font-size: x-small;">[7/25/12 10:07:44:950 CEST] 00000013 AMWASConfigMe I com.tivoli.pd.as.jacc.cfg.TAMConfigController execute() AWXJC0048E An error occurred during the configuration. The details are: com.tivoli.pd.as.jacc.cfg.ConfigActionFailedException: <br />[java.lang.IllegalStateException: HPDAZ0602E Corrupted file: Insufficient information to contact a Policy Server.<br />]<br /><br />Wrappered Exception:<br />java.lang.IllegalStateException: HPDAZ0602E Corrupted file: Insufficient information to contact a Policy Server..</span><br />
<br />
This one happened during JACC configuration attempt from the WAS admin console, when console reported that action cannot be successfully completed. "Insufficient information" could only mean that JRE is trying to register with Policy Server, but fails to trust/present valid certificate. Unfortunately, we were stubborn, and hoped that action will complete during server restart. But after saving configuration and restarting server, it fails to start! In the logs we could see:<br />
<br /><span style="font-size: x-small;">[7/25/12 10:19:49:404 CEST] 00000000 distSecurityC E SECJ0391E: Error when setting the Policy object to the provider's policy implementation com.tivoli.pd.as.jacc.TAMPolicy. The exception is com.tivoli.pd.as.jacc.util.JACCException: AWXJR0006E The file, /opt/ibm/WebSphere/AppServer/profiles/PSS1UPRB01DMgr/etc/tam/amwas.PSS1UPRB01DMgr_dmgr.amjacc.properties, was not found.<br /> at com.tivoli.pd.as.jacc.TAMPolicy.init(TAMPolicy.java:680)<br /> at com.tivoli.pd.as.jacc.TAMPolicy.<init>(TAMPolicy.java:97)<br /> at java.lang.J9VMInternals.newInstanceImpl(Native Method)<br /> at java.lang.Class.newInstance(Class.java:1345)</span><br />
<br />
which meant that WAS has got JACC enabled, but in fact had failed to provide proper configuration file for amwas/jacc. We gave it some thinking and first, we had to recover from this fatal condition: by editing security.xml we disabled security and disabled using JACC in section:<br />
<br />
<span style="font-size: x-small;"><security:Security xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:orb.securityprotocol="http://www.ibm.com/websphere/appserver/schemas/5.0/orb.securityprotocol.xmi" xmlns:security="http://www.ibm.com/websphere/appserver/schemas/5.0/security.xmi" xmi:id="Security_1" useLocalSecurityServer="true" useDomainQualifiedUserNames="false"<b> </b>enabled=<b>"true"</b> cacheTimeout="600" issuePermissionWarning="false" activeProtocol="BOTH" enforceJava2Security="false" enforceFineGrainedJCASecurity="false" appEnabled="true" dynamicallyUpdateSSLConfig="true" allowBasicAuth="true" activeAuthMechanism="LTPA_1" activeUserRegistry="WIMUserRegistry_1" defaultSSLSettings="SSLConfig_1"> </span><b><span style="font-size: x-small;"><--- change bold to FALSE</span></b><br /><br />
<br /><span style="font-size: x-small;"><authConfig xmi:id="AuthorizationConfig_1" useJACCProvider="<b>true</b>"> <-- <b>change bold to FALSE</b> </span><br />
<span style="font-size: x-small;"><br /></span><br />
<span style="font-size: x-small;"><span style="font-size: small;">After that server went up again and we gave a bit thinking to the problem. It turned out to be awfully simple and...well, strange ? We had to add hostname of the WAS machine to <u>policy server's</u> /etc/hosts. Possibly this can be also solved by adding WAS hostname to DNS, anyway, pdmgrd must be able to resolve WAS's IP based on presented hostname. Then, we were able to complete JACC configuration successfully, turn security back on for the whole cell, save and restart and all worked like a wonder!</span></span><br />
<br />
<span style="font-size: x-small;"><span style="font-size: small;">Why do I say it was strange? Because my suspicion is that different PD.jar packages (or more precisely: pd.* classes) responsible for connecting to Policy Server do this in a different way. I'm too weak a programmer to dig this up and resolve it 100%, but I just know that you may get different results when a) configuring JRE from pdconfig b) using sslsrvcfg and c) configuring JACC from WAS (WebSphere's embedded TAM) - eventually, you just need to see what works best for you.</span></span><br />
<br />
<span style="font-size: x-small;"><span style="font-size: small;">Good luck, leave a comment if it helped!</span></span><br />
<br /><br />
<br /></div>mhhttp://www.blogger.com/profile/00007152277906259288noreply@blogger.com2tag:blogger.com,1999:blog-7577236732891270207.post-10636201955122423472012-07-23T12:14:00.002+02:002013-02-20T16:57:02.007+01:00SSL/HTTPS - problems with kdb files<div dir="ltr" style="text-align: left;" trbidi="on">
<div dir="ltr" style="text-align: left;" trbidi="on">
I'm active Experts Exchange contributor, and there's this SSL/kdb problem. I indulge myself into publishing my comment to one of the questions (http://www.experts-exchange.com/Networking/Protocols/Application_Protocols/SSL/Q_27794894.html) here (with some edits):<br />
<br />
It's on CMS format (IBM Key Database file) and problems with opening it with your ikeyman tool (with WebSphere java):<br />
<div class="bullet">
<ul>
<li>for CMS it is IBM proprietary format (like
LTPA) and is not available in non-IBM JRE/JDKs, BUT I also had this
issue that WAS's JDK could not open CMS (kdb) files - can't really say
why as I did not troubleshoot it. but the workaround that worked for me
was to run ikeyman not from /opt/IBM/WebSphere/AppServ<wbr></wbr></li>
</ul>
</div>
</div>
er/java but
from different WAS package JRE - like UpdateInstaller or
InstallationManager - I'm sure you have either installed on your machine
so try them. <br />
I just now checked how it looks like when running ikeyman from: C:\Program Files (x86)\IBM\<b>WebSphere\AppSer</b><wbr></wbr><b>ver</b>\java\jre\bin
I can operate on CMS files but when running from: C:\Program Files
(x86)\<b>IBM\Java60\</b>jre\bin I can't, so it might be something with
your java paths. If you can't figure it out, try
the workaround I suggested above (UI or IM java)
<br />
<div class="bullet">
<ul>
<li>difference
between kdb and p12 is - at least this is "emiprical" difference
experienced by me - that kdb usually houses many certificates
(signer&personal) for use by applications, whereas p12 is usually
used to carry one certificate from an issuer to the owner (for instance I
get my corporate certificate in p12 from supplier). just "any" java's
keytool or any gsk7 won't be able to open kdb file, it must me somewhere
near ;) WebSphere </li>
</ul>
</div>
<div class="bullet">
<ul>
<li>if you use kdb file for your IHS, don't forget to indicate your certificate as "default" in the kdb file. I was looking for the way
to set cert alias to use from within httpd.conf file, but it seems to be
impossible</li>
</ul>
</div>
<div class="bullet">
<ul>
<li> I thought that
IHS uses ONLY kdb database to get certifcates from but I just found that
you may simply supply crt file - PEM encoded (example: <a href="http://rimuhosting.com/howto/modssl.jsp" target="_blank">http://rimuhosting.com/how</a>to/modssl.jsp)
</li>
</ul>
</div>
<br />
<li>some reference - different product, but usage of gsk7 commands is given:<br /><a href="http://pic.dhe.ibm.com/infocenter/tivihelp/v3r1/index.jsp?topic=%2Fcom.ibm.tivoli.itws.doc_8.5.1%2Ffipsensurenetwork.htm" target="_blank">http://pic.dhe.ibm.com/inf<wbr></wbr></a></li>
ocenter/ti<wbr></wbr>vihelp/v3r<wbr></wbr>1/index.js<wbr></wbr>p?<wbr></wbr>topic=%2<wbr></wbr>Fcom.ibm.t<wbr></wbr>ivoli.itws<wbr></wbr>.doc_8.5.1<wbr></wbr>%2Ffipsens<wbr></wbr>urenetwork<wbr></wbr>.htm
</div>
mhhttp://www.blogger.com/profile/00007152277906259288noreply@blogger.com0tag:blogger.com,1999:blog-7577236732891270207.post-48724954585224160552012-07-10T12:30:00.001+02:002012-07-10T12:30:47.253+02:00WebSphere Community Blog: WebSphere Application Server V8.5 is Now Available...Now watch this... this is really cool!<br />
<br />
<a href="http://webspherecommunity.blogspot.com/2012/07/websphere-application-server-v85-is-now.html?spref=bl">WebSphere Community Blog: WebSphere Application Server V8.5 is Now Available...</a>: I first talked about WAS V8.5 back in October 2011 when we started the early program. And in June 2012 we shipped it...Walt Noffsinger, WAS...mhhttp://www.blogger.com/profile/00007152277906259288noreply@blogger.com0tag:blogger.com,1999:blog-7577236732891270207.post-46788569032910128722012-07-09T12:08:00.001+02:002012-07-10T12:31:40.160+02:00Windows 7 XP Mode - Virtual PC<div dir="ltr" style="text-align: left;" trbidi="on">
Did you know that windows 7 users have the option to create easily virtual machines with Windows XP? It is called "XP mode" and works really great?<br />
<br />
A colleague of mine has recommended it a long time ago, but until recently I had no real need to use it, because all my critical work tools ran smoothly on win7. But a few days ago I wanted to set up a test environment for some IBM software and I didn't want to infest my usual Win7 machine with additional software, which I will probably want to discard soon. So, having downloaded XP mode package I configured it, wondering will it be useful at all. It turned out pretty good!<br />
<br />
Installation is quite quick - I guess VPC shares some libraries with the host system and does not really create VMWare-like virtual machine - rather slices out some system resources and presents it as a standalone VM. Anyhow it makes it, it does it really well. XP machine starts literally a few minutes after you begin installation of XP Mode and it runs pretty quickly, letting your work on the VM to be quite nice - no noticable lags, hard disk scratching and so on. And it is all on the encrypted hard disk.<br />
<br />
You can use XP Mode twa ways: either as a standalone vm, or as a "xp native" runtime for applications hosted in fact on your Win7 system, with whom for some reasons xp compatibility set in program properties is not enough. I did no try the latter, but I assume the experience would be good as well.<br />
<br />
The XP VPC is istantly connected to the internet (provided of course your host system is) by the means of NAT. However, if you want to connect over tcp ip to some software running on the VM, like some specific port, you need to do some tweaking. It'd be a nice topic for another post, but I did not solve this issue myself, so I just post a link to a forum page with <a href="http://social.technet.microsoft.com/Forums/en-US/w7itprovirt/thread/edd033bb-7030-4e95-9c5f-af76c9c0c653/" target="_blank">solution by "judios"</a>.<br />
So anyway - if you are a licensed Win7 user and you need a simple WinXP virtal machine VPC is definately a thing for you! Good luck, have fun and don't bother to leave a comment!<br />
<br /></div>mhhttp://www.blogger.com/profile/00007152277906259288noreply@blogger.com0tag:blogger.com,1999:blog-7577236732891270207.post-69255789657909075672012-05-30T13:17:00.000+02:002012-05-30T13:17:17.228+02:00PDJRTE for TAI++ config error: java.lang.NullPointerException at com.tivoli.pd.jutil.jb.getCACert(jb.java:129)<div dir="ltr" style="text-align: left;" trbidi="on">
If you work with complex TAM&J2EE deployments, you will most probably come to the point where you need to use TAI++ trust association scheme to tie your J2EE server (either WebSphere or some other) with TAM&WebSeal system. In particular, this is useful when you want to authenticate users in WebSeal to "let them in" to your backend server but leave authorization for J2EE application to it's internal mechanisms (based on LDAP, for example). If you want to read more on TAI/TAI++ you can do it <a href="http://www.ibm.com/developerworks/tivoli/library/t-tamtai/" target="_blank">here</a> or <a href="http://www.ibm.com/developerworks/tivoli/library/t-customtam/" target="_blank">here</a>.<br />
However, in TAI++ scenario you will most probably come to the point when you will need to configure your Java Runtime for Policy Director (usually done in <b><i>pdconfig</i></b> or with <b><i>pdjrtecfg</i></b> directly). What WAS really needs for TAI++ is essentialy address of Policy Server,
it's certificate to be trusted (downloaded during PDJRTEconfig) and
registration with TAM pdmgrd as a member of security domain. These
information is stored in (not strictly set, but reasonable to do it so)
.conf and .key files producedafter invoking <b><i>java com.tivoli.pd.jcfg.SvrSslCfg</i></b> but first you need to have your PDJRTE configured.<br />
<br />
I tried this with WebSphere App Server's (WAS 7 and TAM 6.1.0.5) java first and usually you do it by sourcing WAS environment first and then using pdconfig. However, in WAS 7 there's a class conflicts of some kind and when you go to pdconfig and choose to configure WAS java (normally /opt/ibm/WebSphere/AppServer/java/jre) to be the runtime for Policy Director in picks proper java, but fails to finish the configuration with nasty error:<br />
<br />
<span style="font-size: x-small;">Configuration of Access Manager Runtime for Java is in progress.<br />This might take several minutes.<br />java.lang.reflect.InvocationTargetException<br /> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)<br /> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)<br /> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)<br /> at java.lang.reflect.Method.invoke(Method.java:611)<br /> at com.tivoli.pd.jcfg.PDJrteCfg.config(PDJrteCfg.java:245)<br /> at com.tivoli.pd.jcfg.PDJrteCfg.interactCfg(PDJrteCfg.java:1307)<br /> at com.tivoli.pd.jcfg.PDJrteCfg.invoke(PDJrteCfg.java:1460)<br /> at com.tivoli.pd.jcfg.PDJrteCfg.main(PDJrteCfg.java:350)<br />Caused by:<br />[java.lang.NullPointerException<br />]<br /><br />Wrappered Exception:<br />java.lang.NullPointerException<br /> at com.tivoli.pd.jutil.jb.getCACert(jb.java:129)<br /> ... 8 more<br />Caused by: java.lang.NullPointerException<br /> at org.apache.harmony.security.fortress.Services$NormalServices.createDefaultProviderInstance(Services.java:286)<br /> at org.apache.harmony.security.fortress.Services$NormalServices.getService(Services.java:423)<br /> at org.apache.harmony.security.fortress.Services$NormalServices.access$2100(Services.java:141)<br /> at org.apache.harmony.security.fortress.Services.getService(Services.java:824)<br /> at org.apache.harmony.security.fortress.Engine.getInstance(Engine.java:133)<br /> at java.security.KeyFactory.getInstance(KeyFactory.java:81)<br /> at com.ibm.security.x509.X509Key.buildX509Key(X509Key.java:275)<br /> at com.ibm.security.x509.X509Key.parse(X509Key.java:189)<br /> at com.ibm.security.x509.X509Key.parse(X509Key.java:215)<br /> at com.ibm.security.x509.CertificateX509Key.<init>(CertificateX509Key.java:112)<br /> at com.ibm.security.x509.X509CertInfo.parse(X509CertInfo.java:966)<br /> at com.ibm.security.x509.X509CertInfo.<init>(X509CertInfo.java:236)<br /> at com.ibm.security.x509.X509CertInfo.<init>(X509CertInfo.java:222)<br /> at com.ibm.security.x509.X509CertImpl.parse(X509CertImpl.java:2285)<br /> at com.ibm.security.x509.X509CertImpl.<init>(X509CertImpl.java:227)<br /> at com.ibm.security.x509.X509CertImpl.<init>(X509CertImpl.java:213)<br /> at com.tivoli.pd.jutil.jb.getCACert(jb.java:51)<br /> ... 8 more<br /><br />[java.lang.reflect.InvocationTargetException<br />]<br /><br />Wrappered Exception:<br />java.lang.reflect.InvocationTargetException<br /> at com.tivoli.pd.jcfg.PDJrteCfg.config(PDJrteCfg.java:51)<br /> at com.tivoli.pd.jcfg.PDJrteCfg.interactCfg(PDJrteCfg.java:1307)<br /> at com.tivoli.pd.jcfg.PDJrteCfg.invoke(PDJrteCfg.java:1460)<br /> at com.tivoli.pd.jcfg.PDJrteCfg.main(PDJrteCfg.java:350)<br />Caused by: java.lang.reflect.InvocationTargetException<br /> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)<br /> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)<br /> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)<br /> at java.lang.reflect.Method.invoke(Method.java:611)<br /> at com.tivoli.pd.jcfg.PDJrteCfg.config(PDJrteCfg.java:245)<br /> ... 3 more<br />Caused by:<br />[java.lang.NullPointerException<br />]<br /><br />Wrappered Exception:<br />java.lang.NullPointerException<br /> at com.tivoli.pd.jutil.jb.getCACert(jb.java:129)<br /> ... 8 more<br />Caused by: java.lang.NullPointerException<br /> at org.apache.harmony.security.fortress.Services$NormalServices.createDefaultProviderInstance(Services.java:286)<br /> at org.apache.harmony.security.fortress.Services$NormalServices.getService(Services.java:423)<br /> at org.apache.harmony.security.fortress.Services$NormalServices.access$2100(Services.java:141)<br /> at org.apache.harmony.security.fortress.Services.getService(Services.java:824)<br /> at org.apache.harmony.security.fortress.Engine.getInstance(Engine.java:133)<br /> at java.security.KeyFactory.getInstance(KeyFactory.java:81)<br /> at com.ibm.security.x509.X509Key.buildX509Key(X509Key.java:275)<br /> at com.ibm.security.x509.X509Key.parse(X509Key.java:189)<br /> at com.ibm.security.x509.X509Key.parse(X509Key.java:215)<br /> at com.ibm.security.x509.CertificateX509Key.<init>(CertificateX509Key.java:112)<br /> at com.ibm.security.x509.X509CertInfo.parse(X509CertInfo.java:966)<br /> at com.ibm.security.x509.X509CertInfo.<init>(X509CertInfo.java:236)<br /> at com.ibm.security.x509.X509CertInfo.<init>(X509CertInfo.java:222)<br /> at com.ibm.security.x509.X509CertImpl.parse(X509CertImpl.java:2285)<br /> at com.ibm.security.x509.X509CertImpl.<init>(X509CertImpl.java:227)<br /> at com.ibm.security.x509.X509CertImpl.<init>(X509CertImpl.java:213)<br /> at com.tivoli.pd.jutil.jb.getCACert(jb.java:51)<br /> ... 8 more<br />java.lang.reflect.InvocationTargetException<br /> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)<br /> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)<br /> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)<br /> at java.lang.reflect.Method.invoke(Method.java:611)<br /> at com.tivoli.pd.jcfg.PDJrteCfg.config(PDJrteCfg.java:245)<br /> at com.tivoli.pd.jcfg.PDJrteCfg.interactCfg(PDJrteCfg.java:1307)<br /> at com.tivoli.pd.jcfg.PDJrteCfg.invoke(PDJrteCfg.java:1460)<br /> at com.tivoli.pd.jcfg.PDJrteCfg.main(PDJrteCfg.java:350)<br />Caused by:<br />[java.lang.NullPointerException<br />]<br /><br />Wrappered Exception:<br />java.lang.NullPointerException<br /> at com.tivoli.pd.jutil.jb.getCACert(jb.java:129)<br /> ... 8 more<br />Caused by: java.lang.NullPointerException<br /> at org.apache.harmony.security.fortress.Services$NormalServices.createDefaultProviderInstance(Services.java:286)<br /> at org.apache.harmony.security.fortress.Services$NormalServices.getService(Services.java:423)<br /> at org.apache.harmony.security.fortress.Services$NormalServices.access$2100(Services.java:141)<br /> at org.apache.harmony.security.fortress.Services.getService(Services.java:824)<br /> at org.apache.harmony.security.fortress.Engine.getInstance(Engine.java:133)<br /> at java.security.KeyFactory.getInstance(KeyFactory.java:81)<br /> at com.ibm.security.x509.X509Key.buildX509Key(X509Key.java:275)<br /> at com.ibm.security.x509.X509Key.parse(X509Key.java:189)<br /> at com.ibm.security.x509.X509Key.parse(X509Key.java:215)<br /> at com.ibm.security.x509.CertificateX509Key.<init>(CertificateX509Key.java:112)<br /> at com.ibm.security.x509.X509CertInfo.parse(X509CertInfo.java:966)<br /> at com.ibm.security.x509.X509CertInfo.<init>(X509CertInfo.java:236)<br /> at com.ibm.security.x509.X509CertInfo.<init>(X509CertInfo.java:222)<br /> at com.ibm.security.x509.X509CertImpl.parse(X509CertImpl.java:2285)<br /> at com.ibm.security.x509.X509CertImpl.<init>(X509CertImpl.java:227)<br /> at com.ibm.security.x509.X509CertImpl.<init>(X509CertImpl.java:213)<br /> at com.tivoli.pd.jutil.jb.getCACert(jb.java:51)<br /> ... 8 more<br /><br />The configuration failed.<br /><br /><br />Press Enter to continue.</span><br />
<br />
I suppose it is because WAS 7 has it's own PD.jar file which may even be newer than the one supplied with TAM 6.1.0.5 <-- that's the version we're talking here about. Or it is because WAS 7 uses java 6, whereas tam works fine with java 5 - I can't tell exactly.<br />
<br />
Anyway, what to do about it? Simply point pdconfig to a different java. For example, bundled with TAM base package is ibm java 5. Install it (it is in /opt/ibm/java2-i386-50/ directory), export it's path:<br />
<br />
<i><b>export PATH=$PATH:/opt/ibm/java2-i386-50/java/jre</b></i><br />
<br />
and try pdconfig to configure pdjrte again. It should succeed now.<br />
<br />
To obtain information for using with TAI++, run now SvrSslCfg with the java you just configured eg.:<br />
<br />
<i><b>/opt/ibm/java2-i386-50/jre/bin/java com.tivoli.pd.jcfg.SvrSslCfg -action config -admin_id sec_master -admin_pwd ***** -appsvr_id ******-host ***** -mode remote -port 8925 -policysvr tamsec-p2-1:7135:1 -authzsvr tamsec-p2-1:7136:1 -cfg_file domainname.cfg -key_file domainname.key -cfg_action create -domain domainname</b></i><br />
<br />
and later supply it to WAS as TAI++ inteceptor config item.<br />
<br />
Good Luck!</div>mhhttp://www.blogger.com/profile/00007152277906259288noreply@blogger.com0