2014-01-24 2 views
5

wsdl을 사용하여 처음부터 apache cxf maven 프로젝트를 만들고 싶습니다. 나는 wsdl2java를 사용할 필요가있다. 먼저 wsdl에 대한 아키타 입을 찾을 수 없습니다. 내가apache cxf wsdl에 대한 maven 프로젝트를 처음 작성하는 방법

MVN의 원형을 때 : -Dfilter = org.apache.cxf.archetype을 생성합니다

나는 단지이를 참조하십시오. 먼저 wsdl에 대한 아키 타입이 없습니까? 그렇지 않다면 어떤 사람들은 가장 효율적인 방법을 추천 할 수 있습니까? 감사합니다

선택 원형 : 1 : 원격 -> org.apache.cxf.archetype : CXF-jaxrs 서비스 (단순 CXF JAX-RS는 봄 구성을 사용 페이지 서비스를 webap) 2 : 원격 -> org.apache .cxf.archetype : cxf-jaxws-javafirst ( Java 코드에서 시작하는 웹 서비스를 개발하는 프로젝트 생성)

+0

나는 정확히 같은 질문이 있습니다. 내 WSDL은 프로그래밍 방식으로 생성되며 wsdl2java도 사용합니다. 사용할 적절한 아키 타입이 필요합니다. 편리한 해결책을 찾으면 공유 할 수 있습니까? – egelev

답변

0

항상 생성 된 wsdl에 대한 하위 모듈을 만듭니다. Eclipse는 경로에 문제가 있습니다.이 모듈은 여러 번 컴파일 할 필요가 없습니다. 클라이언트에 대한

:

<properties> 
    <wsdl.dir>${basedir}/src/main/resources/axis2</wsdl.dir> 
    <generateServerSide>false</generateServerSide> 
    <sourceRoot>${basedir}/target/generated/src/main/java</sourceRoot> 
</properties> 

<build> 
    <pluginManagement> 
     <plugins> 
      <plugin> 
       <groupId>org.apache.cxf</groupId> 
       <artifactId>cxf-codegen-plugin</artifactId> 
       <version>${cxf.version}</version><!--$NO-MVN-MAN-VER$ --> 
       <executions> 
        <execution> 
         <id>generate-sources</id> 
         <phase>generate-sources</phase> 
         <configuration> 
          <sourceRoot>${sourceRoot}</sourceRoot> 
          <defaultOptions> 
           <bindingFiles> 
            <bindingFile>${wsdl.dir}/binding.xml</bindingFile> 
           </bindingFiles> 
          </defaultOptions> 
          <wsdlOptions> 
           <wsdlOption> 
            <wsdl>${wsdl.dir}/first.wsdl</wsdl> 
            <packagenames> 
             <packagename>com.company.gen.first</packagename> 
            </packagenames> 
            <extraargs> 
             <extraarg>-impl</extraarg> 
             <extraarg>-autoNameResolution</extraarg> 
             <extraarg>-wsdlLocation</extraarg> 
             <wsdlurl /> 
            </extraargs> 
           </wsdlOption> 
          </wsdlOptions> 
         </configuration> 
         <goals> 
          <goal>wsdl2java</goal> 
         </goals> 
        </execution> 
       </executions> 
      </plugin> 


      <plugin> <!-- for idea/eclipse --> 
       <groupId>org.codehaus.mojo</groupId> 
       <artifactId>build-helper-maven-plugin</artifactId> 
       <executions> 
        <execution> 
         <id>add-source</id> 
         <phase>generate-sources</phase> 
         <goals> 
          <goal>add-source</goal> 
         </goals> 
         <configuration> 
          <sources> 
           <source>${sourceRoot}</source> 
          </sources> 
         </configuration> 
        </execution> 
       </executions> 
      </plugin> 
     </plugins> 
    </pluginManagement> 
</build> 

서버의 경우 :

  <execution> 
       <id>first</id> 
       <goals> 
        <goal>wsdl2code</goal> 
       </goals> 
       <configuration> 
        <generateServerSide>${generateServerSide}</generateServerSide> 
        <generateAllClasses>${generateServerSide}</generateAllClasses> 
        <generateServicesXml>${generateServerSide}</generateServicesXml> 
        <generateServerSideInterface>${generateServerSide}</generateServerSideInterface> 
        <wsdlFile>${wsdl.dir}/first.wsdl</wsdlFile> 
        <packageName>com.company.gen.first</packageName> 
        <unpackClasses>true</unpackClasses> 
        <syncMode>sync</syncMode> 
        <namespaceURIs> 
         <namespaceURI> 
          <uri>http://uri.company.com</uri> 
          <packageName>com.company.gen.first</packageName> 
         </namespaceURI> 
        </namespaceURIs> 

       </configuration> 
      </execution>