当前位置: 首页 > 知识库问答 >
问题:

无法在WAS8类冲突上部署Spring Ws?

危彬彬
2023-03-14

我试图在WAS8上部署一个Spring-Ws应用程序,配置如下:

网状物xml

<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>/WEB-INF/xxx-servlet.xml</param-value>
</context-param>

<context-param>
    <param-name>log4jConfigLocation</param-name>
    <param-value>/WEB-INF/log4j.properties</param-value>
</context-param>

<listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

<servlet>
    <servlet-name>xxx-services</servlet-name>
    <servlet-class>org.springframework.ws.transport.http.MessageDispatcherServlet</servlet-class>
    <init-param>
        <param-name>transformWsdlLocations</param-name>
        <param-value>true</param-value>
    </init-param>
    <init-param>
        <param-name>contextConfigLocation</param-name>
        <param-value></param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
    <servlet-name>xxx-services</servlet-name>
    <url-pattern>/endpoints/*</url-pattern>
</servlet-mapping>

<resource-ref>
    <description>MGI Data Source</description>
    <res-ref-name>jdbc/xxxDB</res-ref-name>
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>Container</res-auth>
</resource-ref>

Spring上下文。xml

<sws:annotation-driven />

<context:component-scan
    base-package="com.xxx.webservices.endpoints,com.xxx.webservices.service,com.xxx.webservices.dao" />


<bean id="validatingInterceptor"
    class="org.springframework.ws.soap.server.endpoint.interceptor.PayloadValidatingInterceptor">
    <property name="schemas">
        <list>
            <value>WEB-INF/classes/schemas/CodeDetails.xsd</value>
            <value>WEB-INF/classes/schemas/GetAccountRangeConfig.xsd</value>
            <value>WEB-INF/classes/schemas/GetCABExceptionTerms.xsd</value>
            <value>WEB-INF/classes/schemas/SaveAccountRangeConfig.xsd</value>
        </list>
    </property>
    <property name="validateRequest" value="true" />
</bean>

<bean id="testService"
    class="org.springframework.ws.wsdl.wsdl11.DefaultWsdl11Definition"
    lazy-init="true">
    <property name="schemaCollection">
        <bean
            class="org.springframework.xml.xsd.commons.CommonsXsdSchemaCollection">
            <property name="inline" value="true" />
            <property name="xsds">
                <list>
                    <value>WEB-INF/classes/schemas/CodeDetails.xsd</value>
                    <value>WEB-INF/classes/schemas/GetAccountRangeConfig.xsd</value>
                    <value>WEB-INF/classes/schemas/GetCABExceptionTerms.xsd</value>
                    <value>WEB-INF/classes/schemas/SaveAccountRangeConfig.xsd</value>
                </list>
            </property>
        </bean>
    </property>
    <property name="portTypeName" value="TestService" />
    <property name="serviceName" value="TestService" />
    <property name="locationUri"
        value="/endpoints" />
</bean>

<bean id="exceptionResolver"
    class="org.springframework.ws.soap.server.endpoint.SoapFaultMappingExceptionResolver">
    <property name="defaultFault" value="SERVER" />
    <property name="exceptionMappings">
        <value>
            org.springframework.oxm.ValidationFailureException=CLIENT,Invalid Request
        </value>

    </property>
</bean>

<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
    <property name="jndiName" value="java:comp/env/jdbc/xxxDB"/>
</bean>

当我在WAS 8上构建并部署此WAR文件时,我收到以下错误消息:

SourceId: org.springframework.web.context.support.XmlWebApplicationContext.org.springframework.context.support.AbstractApplication

我搜索了StackOverFlow,在Google上花了很多时间研究这个问题,并尝试将类加载策略更改为Parent Last,但仍然得到了相同的错误。以下是我的WEB-INF/lib中的JAR列表:

aopalliance-1.0.jar
commons-dbcp-1.2.2.jar
commons-logging-1.1.3.jar
commons-pool-1.3.jar
jaxb-api-2.2.12.jar
jaxb-core-2.2.11.jar
jaxb-impl-2.2.11.jar
log4j-1.2.17.jar
ojdbc6-11.2.0.jar
spring-aop-4.1.0.RC2.jar
spring-beans-4.1.0.RC2.jar
spring-context-4.1.0.RC2.jar
spring-context-support-4.1.0.RC2.jar
spring-core-4.1.0.RC2.jar
spring-expression-4.1.0.RC2.jar
spring-jdbc-4.1.0.RC2.jar
spring-oxm-4.1.0.RC2.jar
spring-secutiry-core-3.2.5.RELEASE.jar
spring-tx-4.0.9.RELEASE.jar
spring-web-4.1.0.RC2.jar
spring-webmvc-4.1.0.RC2.jar
spring-ws-core-2.2.1.RELEASE.jar
spring-ws-security-2.2.1.RELEASE.jar
spring-ws-test-2.2.1.RELEASE.jar
spring-xml-2.2.1.RELEASE.jar
xmlschema-core-2.2.1.RELEASE.jar
xmlunit-1.5.jar

有没有任何机构面临过这个问题?任何帮助都将不胜感激。我应该移走其他罐子吗?我错过什么了吗?

我甚至尝试了mvn依赖关系:tree-Dverbose=true-Dincludes=org。阿帕奇。ws。xmlschema:xmlschema核心::但没有出现任何问题:(

共有1个答案

秦光启
2023-03-14

IBMASS有自己的类org.apache.ws.commons.schema.XmlSchemaCollection的实现,位于ASS提供的许多罐中的一个。要防止WA加载第一个没有必要方法的类XmlSchemaCollectionread(),您应该使用自己的xmlschema-core-2.2.1。RELEASE. jar(在版本2.2.1中,类XmlSchemaCollection肯定需要read()方法)作为IBM是共享库。您可以设置共享库并将其连接到WAS管理控制台中的Web应用程序。它会解决你的问题。

 类似资料:
  • 我试着在这些问题中应用所有的解决方案: 在我的web.xml中,我使用了标记'res-ref-name'。 多谢!

  • 当我试图在heroku上部署springboot应用程序时,出现了以下错误: 无法执行目标org.apache.Maven.plugins:maven-compiler-plugin:3.8.1:在项目后端编译(default-compile):错误编译:无效的目标版本:11->[Help 1]Remote:[error]Remote:[error]要查看错误的全部堆栈跟踪,请使用-e开关重新运行

  • fw1在这里使用jar中的logger.java http://anonsvn.jboss.org/repos/common/common-logging-spi/trunk/src/main/java/org/jboss/logging/ fw2在这里使用jar中的logger.java

  • 我使用默认的ssd mobilenet v1 fpn模型进行对象检测。它在我的笔记本电脑上运行得非常好,但当我尝试在android上部署tflite文件时,它给我的错误是: null A/LIBC:致命信号6(SIGABRT),代码-6(在tid 25346(推断)中) 但当我使用ssd mobilenet v1时,应用程序运行得非常好 谁能指导我该怎么做?任何帮助都是很大的

  • 我想从配置文件中部署一个mongodb副本集,该副本集包含1个主副本和2个次副本,如下所示: 主节点的第一个配置文件 我也得到了同样的错误 我不知道我需要做什么esle配置来解决这个问题,请帮助我,非常感谢。

  • 我的应用程序一直在工作,直到最后一次提交。 现在,它在< code>npm start上工作正常,但是在使用< code>npm run builder部署它之后,我遇到运行时错误: 不变冲突:缩小的反应错误# 321;访问https://reactjs.org/docs/error-decoder.html?invariant=321获得完整的消息,或者使用非精简的开发环境获得完整的错误和其他有