Friday, February 26, 2010

曼谷芭提雅游 (五)

今天一大早就走去酒店附近那个已忘了名的衣服批发市场,在这里各种时装随处可见,而且价廉物美。在那边花了两个小时多左右就赶回酒店,怕误了回程时间。

就是这样,我们搭上了归途,回去亲爱的祖国。Balik Kampung.

总结这次泰国之旅,最感动的是当地小贩尝试用华语向我们兜售物品,这对我母亲来说是方便多了,感谢大批华语前人铺路,利了我们这些后来的游客。母语能在异国派上用场,是光荣的事。当然,我说的是在非中华文化圈内国。

曼谷芭提雅游 (四)

第四天,我们一伙离开芭提雅,回曼谷去了。途中我们参观了老虎园,这回当局又是用华语解说。令人难忘的是导游麦哥在旅行车上大展歌喉,唱泰国名曲“Loy Krathong”,他的歌声还真不赖,唱出了这首歌的泰式风味。

个人蛮喜欢这首歌,以下是“Loy Krathong”的歌词,有英语翻译:

เพลงลอยกระทง 水燈節

Wan pen duan sip song nam kor nong tem taling

The full moon (of) the twelfth month, as water fills to the banks.

Raow thung lai chai ying sanook gun jing wan loy krathong.

We, all men and women, really have a good time (on) loy krathong day

Loy loy krathong, loy loy kratong

Float, float the krathongs,Float, float the krathongs

Loy krathong gun leaw kor chern nong keaw oog ma rum wong

After we’ve floated our krathongs, (I) invite (you) my darling to come out and dance.

Rum wong wan loy krathong, rum wong wan loy krathong

Ramwong (on) loy krathong day,Ramwong (on) loy krathong day

Boon ja song hai raouw sook jai

(Making) merit will give us happiness

Boon ja song hai raouw sook jai.

(Making) merit will give us happiness

第四天的晚上也没做什么,就是早点休息明日好回国了。

曼谷芭提雅游 (三)

第三天我们一伙前往一个芭提雅附近的海岛(忘了名了,导游也好像没说)做水上水下活动。到岛上之前我们先在一个水上浮台玩跳船伞,所谓跳船伞既是快艇拉着降落伞转个一大圈带你在高空飞翔。玩了后我的感言是“天上十分钟,地下五分钟”,母亲说感觉我很快就下来了,而我觉得在上面蛮久的。

离开浮台到了岛上后才发现我们三人竟盘川不足,唯有在岛上随便走走看看,无聊啊。在岛上花上了数个小时才离开,天热是酷热得很。

导游赚钱时刻到了!我们被带到蜜蜂园,看演示、听解说、享受冷气、试产品。吾本没意思打开钱包,但最后还是把持不住买了蜂皇浆,这东西花了吾数百块钱,而且最终还是“送”给了泰国政府海关人员。很多团友也买了好多产品,不动如山只有那几个老江湖,早早就在休息处等候了,眼不见耳不听为净,恭喜他们逃离了陷阱。

很差的晚餐,又是中餐!又是清炒蕹菜,清蒸非洲鱼等等等等等!那个所谓东炎,里面是一堆豆腐,海鲜肉类缺席,健康极了!过去数天都是这样吃的。

晚餐后,一些团友去看69秀,而剩下的团友包括吾一家人就前往当地最大型的购物商场,也没什么特别,闷极了。时间到,团员集合,一个个发飙。引爆点是一位中年团友不满导游告知他俩夫妇接下来一天一早就会被送往机场干等数小时。接下来一个个团友说出了他们累积了数日的不满,投诉最多的还是食物!导游以一敌众而面不改色,有诸葛亮舌战群雄的风范,令我佩服佩服佩服。麦哥很快就安抚了大家的情绪,一流!

按摩时间到了,按摩了有整个小时吧。然后我们去吃八百泰币的鱼翅燕窝螃蟹配套的夜宵,只见现场座无虚席,食客走了一座又来一座,餐馆老板发大财啊。

曼谷芭提雅游 (二)

第二天七时正久等其他乘客,八点半方抵达“克隆三”(Khlong San)码头,大概迟了一个小时吧。在码头上了船后,我们就在湄南河(Chau Phraya River 泰王河) 乘风破浪观看河边景色及建筑物等,之间有船小贩把舢舨停在我们的船旁兜售各种旅游纪念品。我们的船在郑王庙停了一会儿就回航了。

接下来我们一团去祭拜四面神。四面神位于闹市中心,附近好刚建好了一个快铁站,以后信徒游客要来这儿也方便多了。四面神旧称四面佛,是兴都教的创造之神Brahma,所以名字从四面佛改为四面神较为贴切。四面神位处露天,没立庙,香火鼎盛,信徒源源不绝举香朝四面神的四个面孔下跪、祈求、许愿,在烈日下诚心祭拜。

过后我们前往野生世界,看大马也有的东西,不外是飞禽走兽加表演,吾对这样的安排真是哭笑不得。事情看两面,其实也非没有所获,吾发现中国崛起对泰国旅游业的影响真的很大,在海豚表演环节上,当局竟先以华语解说英语其次,华语俨如国际语言。开心的事,接下来数天有好些节目语言也以华语为主,可见大陆人蜂拥在世界各地旅行大幅度的影响当地。

炎热的午后让吾吃不消,所幸之后是长途之旅,我们一团前往芭提雅(Pattaya)以消耗整个晚上。途中免不了又安排一个什么文化表演(Alangkarn), 四处打量好像只有我们一团,开什么玩笑?不过,那表演也不错啦,值得一看。还有,这个节目的首选解说语言是华语哦。

看到了一路上的丰田车,我想到了马来西亚的骄傲-普腾,我没有荣幸,反之我很肚烂。来玩都会不开心,吾要普腾赔偿精神上的损失。

抵达芭提雅日已落。晚间节目色情味十足,有性交秀(俗称69)等等等,我需与家人选择看人妖秀,那些人妖们专业的演出不仅值得门票,也值得掌声鼓励。某些团友不满意这些安排,说在吉隆坡都不知已看了好几回了,呵呵,起火了,火苗尚小。

由于导游把许多其他天的行程挤进第二日,我们就在水上市场要关的半个小时前匆匆赶到参观,这个水上市场很商业化,跟我在龙虎门看到的不一样,就是石黑龙假扮游客试探元始门的那个,不知是一样的吗?可能此水上市场非彼水上市场吧。

晚餐也是一样烂。

曼谷芭提雅游 (一)

趁穆斯林开斋佳节母亲没做工,吾与家人出游曼谷与芭提雅。

我们的亚航飞机于黄昏时刻起飞,并在当地时间五点多抵达,到站后再去与之前已联络好的导游见面。导游是一位年龄四五十岁左右的“安哥”,自称“麦哥”,华裔泰国人,说得一口流利星马式中文,说话幽默风趣,善于化解游客投诉(之后再提)。麦哥大部分时间都很尽责,但有时对游客的问题与投诉置若罔闻。我们的旅途中有数名团友发飙,请容本人之后再提。

我们上了一辆7人休旅车,就往酒店出发,酒店乃位于“马卡桑”(Makassan)的“曼谷皇宫”(Bangkok palace)。完成登入酒店房手续,并安置了行李后,麦哥带我们三人吃晚餐,地点就在我们下榻酒店的不远处。途中我们陆陆续续与同一团的游客集合,他们都入住不同酒店,以北马人居多。

好了,晚餐地点到了,哇食物好真叫人失望,今晚我们竟然是吃中餐。但是,吾肚子饿了所以也不计较,横扫桌上菜肴。

晚餐后是当地时间八点多,导游也没为我们安排节目,我们就被送回酒店了。本来还想搭德士前往当地出名的市集,但根据晚餐前从那儿回来的团友所述,市集处交通混乱,加上下了雨积水更变本加厉。母亲听了便打消了这个念头,本人着实扫兴。

之后我提议到酒店附近走走,家人也没问题,我们就去乱走一通了。我们在一个路边摊买了马来西亚也有的蚝煎,偷偷的带回酒店房内吃,哇,味道还真不错!很香脆。我们三人大快朵颐很快就解决了那包蚝煎,我是觉得意犹未尽啦,呵呵。

就这么过了数小时的第一天。

Thursday, February 11, 2010

Issue with Java Security Provider

While working on one enhancement. I encountered a weird problem. The program within WBIA framework failed in calling web service. It was throwing me a NullPointerException from Axis library as below:

at java.security.SecureRandom.nextBytes(SecureRandom.java:433)
at org.apache.axis.utils.SessionUtils.generateSessionId(SessionUtils.java:62)
at org.apache.axis.SOAPPart.<init>(SOAPPart.java:164)
at org.apache.axis.Message.setup(Message.java:377)
at org.apache.axis.Message.<init>(Message.java:246)
at org.apache.axis.client.Call.invoke(Call.java:2425)
at org.apache.axis.client.Call.invoke(Call.java:2366)
at org.apache.axis.client.Call.invoke(Call.java:1812)

I made the investigation as below:

1) I put a java.security.Security.getProviders() in my program to list all the security providers. I compared the results from successful call (standalone java program running at the same AIX server) and unsuccessful call (program extending from WBIA framework running at the same AIX server).

Here is the result:

//Unsuccessful call.
- IBMJSSE2
- IBMJGSSProvider
- IBMCertPath

//Successful call
- IBMJSSE2
- IBMJCE
- IBMJGSSProvider
- IBMCertPath
- IBMSASL

Obviously some security providers are missing hence caused the unsuccessful call. I double confirmed this by modifying my java.security file at local and tested the same program from my local. Yes the web service call actually failed due to the missing security provider. The missing security provider is actually com.ibm.crypto.provider.IBMJCE

Therefore, i did the below the solve this issue:

1) Set the Java home path to the JRE folder instead of the JDK folder itself.

2) I added the security provider at runtime.
java.security.Security.addProvider(new com.ibm.crypto.provider.IBMJCE());

Finally it worked. One question is, how come it somehow did not refer to the java.security file that i set everything correctly else i do not have to do the 2nd step as mentioned. I still need to find out this.