代码之家  ›  专栏  ›  技术社区  ›  cape

将应用程序部署到IBM liberty配置文件时执行CICS请求时出错

  •  0
  • cape  · 技术社区  · 5 年前

    我有一个应用程序,如果我把它(在我的本地)部署到WAS中,就可以完美地工作了。但是,如果将其部署到ibmj9vm版本pwa6470_27sr2fp10-20141218_02(sr2fp10)中的Liberty Profile(WebSphere Application Server 8.5.5.8/wlp-1.0.11.cl50820151201-1942)中,连接到CICS服务时会出现以下异常 :

    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 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>
    
    0 回复  |  直到 5 年前
        1
  •  1
  •   franiis Lukas Owen    5 年前

    ECIInteractionSpec 从应用程序。通过应用程序表明这不是预期的 ECI交互规范 . 一种可能是用于编译应用程序的cicstgrar文件不同于websphereliberty服务器概要文件定义的cicstgrar文件版本。

    您能否尝试从以下位置下载最新版本的CICS TG RAR文件:

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

    /cicstgsdk/api/jee/runtime/managed/cicseci.rar 并重新编译应用程序。在liberty概要文件中使用相同的cicstgrar并验证该场景。

        2
  •  0
  •   cape    5 年前

    我修好了。谢谢你们的帮助。该项目包含了对cicseci库非常旧版本的可传递依赖项。我排除了他们。我还不明白为什么它在WAS上工作得很好,在WLP中却失败了。