2014-01-24 2 views
5

Я хочу создать проект apache cxf maven с нуля с помощью wsdl. Мне нужно использовать wsdl2java. Сначала я не могу найти архетип для wsdl. Когда я пытаюсьКак создать проект maven для apache cxf wsdl first

МВН архетип: генерировать -Dfilter = org.apache.cxf.archetype:

Я вижу только эти. Нет ли архетипа для wsdl в первую очередь? Если нет, некоторые могут рекомендовать наиболее эффективный подход? Благодаря

Выберите архетип: 1: удаленный -> org.apache.cxf.archetype: CxF-jaxrs-сервис (Simple CXF JAX-RS webap р-сервиса с использованием конфигурации Spring) 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> 
Смежные вопросы