2013-08-22 1 views
0

Axis2 XMLBeans (버전 1.6.2) 클라이언트를 사용하여 CRM Dynamics 웹 서비스를 연결했습니다. 내가 독립 프로젝트로 시작할 때,하지만 난 프로젝트의 받는다는 구조에 통합 할 때 나는 서비스를 사용하려고 클라이언트는 완벽하게 잘 작동, 나는 다음과 같은 오류 얻을 : 나는했습니다서비스를 사용하려고 할 때 Axis2 + Maven ClassFormatError

ERROR [http-bio-8080-exec-13][render_portlet_jsp:154] java.lang.ClassFormatError: Incompatible magic value 4022320623 in class file schemaorg_apache_xmlbeans/system/sC40263DCBC25A143E59FC252DB52E714/TypeSystemHolder at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632) at java.lang.ClassLoader.defineClass(ClassLoader.java:616) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141) at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2889) at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1170) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1678) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1556) at org.apache.xmlbeans.XmlBeans.typeSystemForClassLoader(XmlBeans.java:769) at com.microsoft.schemas.crm._2007.webservices.RetrieveDocument.(RetrieveDocument.java:19) at com.microsoft.schemas.crm._2007.webservices.RetrieveDocument$Factory.newInstance(RetrieveDocument.java:147)

을 다음 플러그인을 사용하여 Maven을 통해 오류를 제공하는 축 코드를 생성했습니다.

<plugins> 
      <plugin> 
       <groupId>org.apache.axis2</groupId> 
       <artifactId>axis2-wsdl2code-maven-plugin</artifactId> 
       <version>1.6.2</version> 
       <executions> 
        <execution> 
         <goals> 
          <goal>wsdl2code</goal> 
         </goals> 
         <configuration> 
          <packageName>myPackage</packageName> 
          <wsdlFile>src/main/resources/CrmService.wsdl</wsdlFile> 
          <databindingName>xmlbeans</databindingName> 
         </configuration> 
        </execution> 
       </executions> 
      </plugin> 
    </plugins> 

어떤 현상이 발생 했습니까? 오류는 일반적으로 클래스가 손상되었음을 나타내지 만 여러 번 (여러 버전의 Axis2를 사용하여) 생성했으며 그 결과는 동일합니다 ...

답변

0

그냥 해결책을 찾으십시오. 항아리에 생성 된 클래스를 포함하기 위해,이 라인을 추가했습니다 :

<resources> 
      <resource> 
       <directory>src/main/resources</directory> 
       <filtering>true</filtering> 
      </resource> 
      <resource> 
       <directory>target/generated-sources/axis2/wsdl2code/resources</directory> 
       <filtering>true</filtering> 
      </resource> 
      <resource> 
       <directory>target/generated-sources/axis2/wsdl2code/src</directory> 
       <filtering>true</filtering> 
      </resource> 
     </resources> 

false로 자원 디렉토리의 필터링을 변경 한 후, 문제가 사라집니다.