2013-10-29 123 views
0

我試圖部署使用maven在WebLogic Server中的Axis2 Web服務部署與Maven Axis2的web服務。該項目的Maven模塊中的一個是,我所定義的軸的servlet的戰爭。在WSDL在那裏,所以我用wsdl2code插件生成的XMLBean和模式,把一個罐子模塊中。結構如下。了NoClassDefFoundError的調用時在weblogic

--lv-ear (ear with dependency on war) 
| 
--lv-ws 
    | 
    --lv-ws-ccid (jar module with skeleton and xmlbeans) 
    | 
    --lv-ws-ecs (jar module with skeleton and xmlbeans) 
| 
--lv-ws-web (war module with dep on jar modules) 
    | 
    --WEB-INF 
    | 
    --conf/axis2.xml 
    --services/ccid/services.xml 

我構建並部署到weblogic域的耳朵。戰爭部署成功,部署成功。我能夠訪問wsdl文件。當我嘗試致電該服務時,我得到了一個模式文件下面的ClassNotFoundException

Caused by: java.lang.ClassNotFoundException: schemaorg_apache_xmlbeans.system.s2104B1E6E09A2A85656B3E630BA151C1.TypeSystemHolder 

我看到那條路徑中的隨機字符串不同於我。於是,我就再打電話及以下得到的NoClassDefFoundError,即使我試着用不同的方法,其仍然存在。

java.lang.NoClassDefFoundError: Could not initialize class com.lv.ws.ccid.xmlbean.InputDocument 
    at com.lv.ws.ccid.xmlbean.InputDocument$Factory.parse(InputDocument.java:463) 
    at com.lv.ws.ccid.CcidMessageReceiverInOut.fromOM(CcidMessageReceiverInOut.java:332) 
    at com.lv.ws.ccid.CcidMessageReceiverInOut.invokeBusinessLogic(CcidMessageReceiverInOut.java:46) 
    at org.apache.axis2.receivers.AbstractInOutMessageReceiver.invokeBusinessLogic(AbstractInOutMessageReceiver.java:40) 
    at org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:114) 
    at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:173) 
    at org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:173) 
    at org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:144) 

我搜索,發現這個東西告訴配置應用服務器基於http://axis.apache.org/axis2/java/core/docs/app_server.html Axis2的。當我嘗試它時,我得到了錯誤。

weblogic.xml.stax.XmlStreamInputFactory can not be cast to javax.xml.stream.XmlInputFactory 

丟棄配置後,我做了一些其他可能的部署具有web服務骨架和XMLBean的文件在AAR,把AAR內WEB-INF /服務。我也試圖把類路徑的MANIFEST.MF耳/進入戰爭的jar文件,但無濟於事。仍然我得到了相同的NoClassDefFoundError。你能否給我一些建議來解決這個問題?

+0

第一個'ClassNotFoundException'與如何自動生成xml bean類有關。完全乾淨的構建通常會讓你過去。除此之外,很難說出你要問什麼,因爲你列出了很多錯誤。 –

+0

對不起,該列表。我只想提到我遇到的情況。問題是NoClassDefFoundError。我會編輯以強調這一點。 –

回答

0

現在固定它。這是由於我對Axis缺乏經驗。問題是,我將生成的模式和xmlbean文件移動到src文件夾,然後試圖使用正常的jar函數和依賴項進行部署。

現在,我刪除他們從src文件夾並使用wsdl2code和Axis2-AAR插件動態生成的XMLBean和模式文件,然後在AAR將它們打包。然後我將aar部署到webapp並且工作正常。我在下面列出了<build>內的插件配置。

<plugins> 
     <plugin> 
      <groupId>org.apache.axis2</groupId> 
      <artifactId>axis2-wsdl2code-maven-plugin</artifactId> 
      <version>1.5.4</version> 
      <executions> 
       <execution> 
        <id>ccid-ws</id> 
        <goals> 
         <goal>wsdl2code</goal> 
        </goals> 
       </execution> 
      </executions> 
      <configuration> 
       <packageName>com.lv.ws.ccid</packageName> 
       <wsdlFile>${basedir}/src/main/resources/META-INF/ccid.wsdl</wsdlFile> 
       <databindingName>xmlbeans</databindingName> 
       <syncMode>sync</syncMode> 
       <unpackClasses>true</unpackClasses> 
       <namespaceToPackages>https://mdm.com/portal/ws/services/ccid=com.lv.ws.ccid.xmlbean</namespaceToPackages> 
       <outputDirectory>${basedir}/target/generated-sources</outputDirectory>        <generateServerSide>false</generateServerSide> 
       <generateServicesXml>true</generateServicesXml> 
       <skipWSDL>true</skipWSDL> 
      </configuration> 
     </plugin> 
     <plugin> 
      <groupId>org.apache.axis2</groupId> 
      <artifactId>axis2-aar-maven-plugin</artifactId> 
      <version>1.6.2</version> 
      <extensions>true</extensions> 
      <executions> 
       <execution> 
        <phase>prepare-package</phase> 
        <goals> 
         <goal>aar</goal> 
        </goals> 
       </execution> 
      </executions> 
      <configuration> 
       <aarName>ccid</aarName> 
       <includeDependencies>false</includeDependencies> 
       <outputDirectory>${project.build.directory}/aar</outputDirectory> 
      </configuration> 
     </plugin> 
    </plugins> 
相關問題