При использовании клиента Jolt для подключения к Tuxedo с I18N выдается исключение «Сервис недоступен» - PullRequest
0 голосов
/ 07 декабря 2018

Я писал 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, и он прекрасно отвечает китайскими иероглифами.Вариант виртуальной машины WebLogic:

-Dbea.jolt.encoding = GBK

Я провел небольшое исследование, и все, что я мог найти о jolt + i18n, это:

  1. Включите jolti18n.jar или даже joltjse.jar в путь к классам в клиенте.
  2. Установите кодировку в клиенте.
  3. Убедитесь, что смокингСервер включил поддержку i18n.

Я сделал все вышеперечисленное.Пожалуйста, помогите.

...