Error executing CICS request while deploying app into IBM liberty Profile

社会主义新天地 提交于 2021-01-28 08:27:10

问题


I´ve got an app that works perfectly if I deploy it (in my local) into WAS. However, I´m getting the following exception connecting to CICS services if if deploy it into Liberty Profile (WebSphere Application Server 8.5.5.8/wlp-1.0.11.cl50820151201-1942) in IBM J9 VM, version 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=[]]

However the IteractionSpec IS an instance of ECIInteractionSpec: This is my server.xml, for what is worth:

        <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>

回答1:


The "CTG9628E InteractionSpec passed to execute() not of type ECIInteractionSpec" message is issued when the CICS TG RAR code checks whether the Interaction Spec passed an instance of the expected ECIInteractionSpec from application. This suggests that the application is not passing the expected ECIInteractionSpec. One possibility could be CICS TG RAR file used for compiling the application is different from version of CICS TG RAR files defined the WebSphere Liberty server profile.

Can you try downloading latest version of CICS TG RAR file from:

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

Copy (after extracting) the CICS TG RAR file from /cicstgsdk/api/jee/runtime/managed/cicseci.rar to your application and recompile the application. Also use the same CICS TG RAR in your liberty profile and verify the scenario.




回答2:


I fixed it. Thanks a lot guys for your help. The project got included transitive dependencies to very old versions of cicseci library. I excluded them. I don´t understand yet why it works perfectly on WAS and it fails in WLP.



来源:https://stackoverflow.com/questions/56786915/error-executing-cics-request-while-deploying-app-into-ibm-liberty-profile

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!