При использовании клиента Jolt для подключения к Tuxedo с I18N выдается исключение "Сервис недоступен"
Я писал java-клиент с библиотекой классов jolt, соединяющейся с смокингом, когда без 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, и он прекрасно отвечает китайскими иероглифами. Вариант VM в WebLogic:
-Dbea.jolt.encoding = GBK
Я провел некоторое исследование, и все, что я мог найти о jolt+i18n, это:
- Включите jolti18n.jar или даже joltjse.jar в путь к классам в клиенте.
- Установите кодировку в клиенте.
- Убедитесь, что на сервере смокинг включена поддержка i18n.
Я сделал все вышеперечисленное. Пожалуйста помоги.