使用Jolt客户端通过I18N连接到Tuxedo会引发异常“服务不可用”

时间:2018-12-07 03:03:10

标签: java internationalization jolt bea tuxedo

我正在编写一个带有连接到燕尾服的jolt类库的Java客户端,当没有任何i18n时,它运行得很好。但是当我包括i18n时,它就坏了。 这是我在客户端执行的操作:

    /* jolt.jar, jolti18n.jar, joltjse.jar, are all included in the classpath */

    System.setProperty("bea.jolt.encoding", "GBK"); // without this line, everything is good.

    JoltSessionAttributes sattr = new JoltSessionAttributes();
    sattr.setString(JoltSessionAttributes.APPADDRESS, host);
    sattr.setInt(JoltSessionAttributes.IDLETIMEOUT, 300);
    sattr.setInt(JoltSessionAttributes.SENDTIMEOUT, 10);

    JoltSession session = new JoltSession(sattr, null, null, null, null);

    JoltRemoteService rservice = new JoltRemoteService("QAM_CBS1_L1SVC", session); // Here throws the bea.jolt.ServiceException

    /* some parameter setting here that doesn't concern */

    rservice.call(null);

    System.out.println(rservice.getOutputs());

这是我得到的例外:

Exception in thread "AWT-EventQueue-0" bea.jolt.ServiceException: Service is not available:QAM_CBS1_L1SVC
    at bea.jolt.JoltRemoteService.init(JoltRemoteService.java:146)
    at bea.jolt.JoltRemoteService.<init>(JoltRemoteService.java:102)
    at com.wonderland.yang.util.ServiceCaller.call(ServiceCaller.java:23)
    at com.wonderland.yang.MyGUI.submit(MyGUI.java:293)
    ...

我可以确定的是,燕尾服服务器支持i18n(“ GBK”作为字符集),因为我们已经拥有一个连接到它的WebLogicserver,并且它可以很好地响应中文字符。 WebLogic的VM选项:

  

-Dbea.jolt.encoding = GBK

我做了一些研究,关于jolt + i18n的所有发现是:

  
      
  1. 将jolti18n.jar甚至joltjse.jar包含到客户端的类路径中。
  2.   
  3. 在客户端中设置字符集。
  4.   
  5. 确保燕尾服服务器已启用i18n支持。
  6.   

我做了以上所有事情。请帮忙。

0 个答案:

没有答案