5

私はCXFを春に動作させようとしています。weblogic.theプロジェクトは正常にコンパイル/ビルドされますが、デプロイしようとすると次のエラーが発生します。

  <User defined listener org.springframework.web.context.ContextLoaderListener failed:    org.springframework.beans.factory.BeanCreationException: Error creating bean with name   'ibanInfos': Initialization of bean failed; nested exception is java.lang.NoClassDefFoundError: javax/xml/ws/EndpointReference.
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'ibanInfos': Initialization of bean failed; nested exception is java.lang.NoClassDefFoundError: javax/xml/ws/EndpointReference
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:527)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291)
    at  org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288)
    Truncated. see log file for complete stacktrace
java.lang.NoClassDefFoundError: javax/xml/ws/EndpointReference
    at java.lang.Class.getDeclaredMethods0(Native Method)
    at java.lang.Class.privateGetDeclaredMethods(Class.java:2395)
    at java.lang.Class.getDeclaredMethods(Class.java:1763)
    at java.beans.Introspector$1.run(Introspector.java:1265)
    at java.security.AccessController.doPrivileged(Native Method)

これを解決する方法はありますか?実際、私はJavaFirst戦略を使用してWSDLを生成しています。

これが私の春のファイルです:

  <beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:jaxws="http://cxf.apache.org/jaxws"
    xsi:schemaLocation="
http://www.springframework.org/schema/beans 
http://www.springframework.org/schema/beans/spring-beans.xsd
http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd">
    <import resource="classpath:META-INF/cxf/cxf.xml" />
    <import resource="classpath:META-INF/cxf/cxf-servlet.xml" />
    <import resource="classpath:service-definition-beans.xml"/> 
    <jaxws:endpoint id="ibanInfos" implementor="#ibanInfosService" address="http://localhost:7001/IbanInfos" />  
</beans>
4

4 に答える 4

9

クラスパスにjaxws-api-2.3.1.jarがあることを確認してください。

上記のリンクまたは maven からダウンロードできます。

<dependency>
    <groupId>javax.xml.ws</groupId>
    <artifactId>jaxws-api</artifactId>
    <version>2.3.1</version>
</dependency>
于 2012-11-30T12:31:35.460 に答える
1

私は最終的に問題を発見しました。実際には、EndPointInterfaceを含まないJaxws2.0を提供する10.0バージョンでweblogicを使用しています。回避策は、jar を setDomainEnv.sh に追加することであり、完全に機能します。回答ありがとうございます。

于 2012-12-03T16:35:37.297 に答える
0

このクラスはクラスパスにないようです。関連する項目を POM に追加する必要があります。Web を検索すると、このクラスは多くのライブラリに存在します。このようなアーティファクトを含めるための抜粋を次に示します。

<dependency>
  <groupId>javax.xml.ws</groupId>
  <artifactId>jaxws-api</artifactId>
  <version>2.2.3</version>
</dependency>
于 2012-11-30T12:31:50.133 に答える
0

EndpointReferenceは JAX-WS 2.1 で導入され、JAX-WS 2.1 は Java 1.6.0_04 以降の JRE に含まれています。

そのため、ご使用の環境で が利用できない場合EndpointReferenceは、JRE/JDK をアップグレードするか、最新バージョンの JAX-WS API を別の依存関係として含める必要があります。

于 2012-11-30T12:29:06.883 に答える