pom.xml
を以下のように設定し、Maven で generate-sources
、comile
、package
などで実行すれば、
http://${siteX}/ws/WSDLURI?wsdl
を元に、${basedir}/generate/main/java
配下に
com.msysh.ws.siteX
パッケージでソースコードが自動生成される。
pom.xml
<build>
<plugins>
<!-- JBossws wsconsume -->
<plugin>
<groupid>org.jboss.ws.plugins</groupid>
<artifactid>maven-jaxws-tools-plugin</artifactid>
<version>1.0.0.GA</version>
<executions>
<execution>
<id>ws-siteA</id>
<phase>generate-sources</phase>
<configuration>
<sourcedirectory>${basedir}/generate/main/java</sourcedirectory>
<targetpackage>com.msysh.ws.sitea</targetpackage>
<!-- 実際に WSDL が存在するURL -->
<wsdllocation>http://${siteA}/ws/WSDLURI?wsdl</wsdllocation>
<wsdls>
<!-- 開発時には WSDL ファイルはローカルにおいておく -->
<wsdl>${basedir}/src/main/resources/wsdl/siteA.wsdl</wsdl>
</wsdls>
<extension>false</extension>
<verbose>true</verbose>
</configuration>
<goals>
<goal>wsconsume</goal>
</goals>
</execution>
<!-- 2つ以上Webサービスを利用する場合は以下のように追加する -->
<execution>
<id>ws-siteB</id>
<phase>generate-sources</phase>
<configuration>
<sourcedirectory>${basedir}/generate/main/java</sourcedirectory>
<targetpackage>com.msysh.ws.siteb</targetpackage>
<wsdllocation>http://${siteB}/ws/WSDLURI?wsdl</wsdllocation>
<wsdls>
<wsdl>${basedir}/src/main/resources/wsdl/siteB.wsdl</wsdl>
</wsdls>
<extension>false</extension>
<verbose>true</verbose>
</configuration>
<goals>
<goal>wsconsume</goal>
</goals>
</execution>
</executions>
</plugin>
<!-- パッケージング時にローカルにおいた WSDL ファイルを含めないようにする。 -->
<plugin>
<groupid>org.apache.maven.plugins</groupid>
<artifactid>maven-jar-plugin</artifactid>
<configuration>
<excludes>
<exclude>wsdl/</exclude>
</excludes>
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
<!-- For JBossws wsconsume -->
<dependency>
<groupid>org.jboss.ws.native</groupid>
<artifactid>jbossws-native-client</artifactid>
<version>3.1.1.GA</version>
</dependency>
<!-- For JBossws wsconsume -->
<dependency>
<groupid>org.jboss.ws</groupid>
<artifactid>jbossws-jboss423</artifactid>
<version>3.1.1.GA</version>
<type>jar</type>
<scope>provided</scope>
</dependency>
<!-- テストの時にいるような? -->
<dependency>
<groupid>org.jboss</groupid>
<artifactid>jbossxb</artifactid>
<version>2.0.1.GA</version>
<scope>test</scope>
</dependency>
</dependencies>
<repositories>
<!-- JBossリポジトリ -->
<repository>
<id>repository.jboss.org</id>
<name>JBoss Repository</name>
<url>http://repository.jboss.org/maven2</url>
</repository>
</repositories>