Ошибка выполнения запроса CICS при развертывании приложения в IBM liberty Profile - PullRequest
1 голос
/ 27 июня 2019

У меня есть приложение, которое отлично работает, если я разверну его (локально) в WAS. Однако я получаю следующее исключение при подключении к сервисам CICS, если разверну его в Liberty Profile (WebSphere Application Server 8.5.5.8/wlp-1.0.11.cl50820151201-1942) в виртуальной машине IBM J9, версия pwa6470_27sr2fp10-20141218_02 (SR2 FP10 ) :

com.ibm.connector2.cics.CICSUserInputException@a71e6144
[invalidProperties=<null>,errorCode=<null>,linkedException=<null>,
detailMessage=CTG9628E  InteractionSpec passed to execute() not of type ECIInteractionSpec,
cause=com.ibm.connector2.cics.CICSUserInputException@a71e6144,stackTrace=<null>,
suppressedExceptions=[]]

Однако IteractionSpec является экземпляром ECIInteractionSpec: exception debug Это мой server.xml, для чего стоит:

        <server description="new server">
        <featureManager>
            <feature>jsp-2.2</feature>
            <feature>jpa-2.0</feature>
            <feature>jaxrs-1.1</feature>
            <feature>cdi-1.0</feature>
            <feature>beanValidation-1.0</feature>
            <feature>ejbLite-3.1</feature>
            <feature>json-1.0</feature>
            <feature>apiDiscovery-1.0</feature>
            <feature>managedBeans-1.0</feature>
            <feature>jca-1.6</feature>
            <feature>jndi-1.0</feature>
            <feature>javaMail-1.5</feature>
            <feature>jaxws-2.2</feature>
            <feature>localConnector-1.0</feature>
            <feature>jms-1.1</feature>
            <feature>servlet-3.1</feature>
        </featureManager>

        <variable name="SHARED_LIB_ROOT" value="C:\IBM\\IBM\liberty_jars"/>
        <variable name="SHARED_LIB_CONFLU" value="C:\IBM\SHARED_LIB"/>

         <resourceAdapter autoStart="true" id="eciResourceAdapter" location="${SHARED_LIB_CONFLU}/cicseci-9.1.rar">
          <classloader apiTypeVisibility="spec, ibm-api, third-party"/>
       </resourceAdapter>

       <library apiTypeVisibility="spec, ibm-api, third-party" id="gneislibrary">
          <folder dir="${SHARED_LIB_CONFLU}"/>
       </library>
        <!-- drivers lib -->
        <!-- ORACLE -->
        <library id="oracle-lib">
            <fileset dir="${SHARED_LIB_ROOT}\drivers\oracle" includes="oracle-ojdbc6-11.2.0.3.0.jar"/>
        </library>
        <!-- DB2 -->
        <library id="db2-lib">
            <fileset dir="${SHARED_LIB_ROOT}\drivers\db2" includes="db2jcc.jar db2jcc_license_cisuz.jar"/>
        </library>

        <!-- To access this server from a remote client add a host attribute to 
            the following element, e.g. host="*" -->
        <httpEndpoint httpPort="9080" httpsPort="9443" id="defaultHttpEndpoint"/>

        <!-- Automatically expand WAR files and EAR files -->
        <applicationManager autoExpand="true"/>

        <applicationMonitor updateTrigger="mbean"/>

       <connectionFactory id="eciTest" jndiName="eis/CICSPWAS">
          <properties.eciResourceAdapter TPNName="SCTG" connectionUrl="my_hostname" portNumber="my_port_number" tracelevel="3" userName="my_user_name"/>
       </connectionFactory>

        <!-- external libs -->
        <library id="external-lib">
            <fileset dir="${SHARED_LIB_ROOT}\external-lib" includes="*"/>
            <folder dir="${SHARED_LIB_ROOT}\external-lib"/>
        </library>
            <quickStartSecurity userName="wasadmin" userPassword="123456"/> 




        <webApplication contextRoot="/myapp" id="oauth" location="myapp.war" name="myapp">
              <classloader apiTypeVisibility="spec, ibm-api, third-party" classProviderRef="eciResourceAdapter" commonLibraryRef="gneislibrary" delegation="parentFirst"/>
       </webApplication>
        <keyStore location="${server.output.dir}/resources/security/key.jks"></keyStore>
    </server>

Ответы [ 2 ]

1 голос
/ 28 июня 2019

Сообщение «CTG9628E InteractionSpec, переданный для execute (), не относящегося к типу ECIInteractionSpec», выдается, когда код CICS TG RAR проверяет, передал ли Interaction Spec ожидаемый ECIInteractionSpec экземпляр из приложения. Это говорит о том, что приложение не проходит ожидаемый ECIInteractionSpec. Возможно, файл CICS TG RAR, используемый для компиляции приложения, отличается от версии файлов CICS TG RAR, определенных в профиле сервера WebSphere Liberty.

Можете ли вы попробовать загрузить последнюю версию файла CICS TG RAR из:

https://developer.ibm.com/cics/2016/03/11/cics-tg-sdks

Скопируйте (после извлечения) файл CICS TG RAR из /cicstgsdk/api/jee/runtime/managed/cicseci.rar в ваше приложение и перекомпилируйте приложение. Также используйте тот же RAR CICS TG в своем профиле свободы и проверьте сценарий.

0 голосов
/ 28 июня 2019

Я исправил это. Большое спасибо, ребята, за вашу помощь. В проект были включены переходные зависимости к очень старым версиям библиотеки cicseci. Я исключил их. Я пока не понимаю, почему он отлично работает в WAS и не работает в WLP.

...