'interface'と呼ぶコンポーネントはクリアされません。Webサービスの構築には、主に2つのアプローチがあります。
- wsdl(つまり、コントラクト/またはサービスインターフェース記述子)で開始します
- コードから始めます(おそらくJavaインターフェイス)
常に開発の両側を制御できるとは限らないため、最初のアプローチをお勧めします。2番目のアプローチを使用してwsdl定義(java2wsdl)から開始するか、altovaxmlspyとしてツールを使用してwsdlをビルドできます。
wsdlがあれば、axis2-maven wsdl2codeプラグインを使用してWSS(Webサービスサーバー側)を開発できます。バージョン2.6.0のこのプラグインは、サーバーのソースコードのみを生成しますが、このコードをaxis2-warディストリビューション内またはaarコンポーネントとしてホストする必要があります。
wsdlを使用すると、axis2-maven wsdl2codeプラグインを再度使用して、WSC(Webサービスクライアント側)を生成できます。プラグイン命令で、テストコードを生成することを指定できます。mvn generate-sourcesを使用して、クライアントスタブを生成し、生成されたソースを移動して、テストを変更できます。
どちらの場合も、最初のpomを作成する必要があります(今回は、公式で統一された、または推奨されるpomは見つかりませんでした)。いくつかのpom.xml軸の例をグーグルで検索できます(例:http ://wso2.org/library/90 )。
以下に、pom(WSC)のビルドに使用できるxmlをいくつか示します。
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>your_group_id</groupId>
<artifactId>your_artifact_id</artifactId>
<packaging>jar</packaging>
<version>1.0-SNAPSHOT</version>
<name>your_artifact_id</name>
<url>http://your_url</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.1</version>
<scope>provided</scope>
</dependency>
<!-- axis2/axiom: dependencies -->
<dependency>
<groupId>org.apache.axis2</groupId>
<artifactId>axis2</artifactId>
<version>${axis2.version}</version>
</dependency>
<dependency>
<groupId>org.apache.axis2</groupId>
<artifactId>axis2-transport-local</artifactId>
<version>${axis2.version}</version>
</dependency>
<dependency>
<groupId>org.apache.axis2</groupId>
<artifactId>axis2-transport-http</artifactId>
<version>${axis2.version}</version>
</dependency>
<dependency>
<groupId>org.apache.axis2</groupId>
<artifactId>axis2-codegen</artifactId>
<version>${axis2.version}</version>
<scope>provided</scope>
</dependency>
<!-- axis2-rampart: dependencies -->
<dependency>
<groupId>org.apache.rampart</groupId>
<artifactId>rampart-core</artifactId>
<version>${axis2.version}</version>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-jdk14</artifactId>
</exclusion>
<exclusion>
<artifactId>log4j-over-slf4j</artifactId>
<groupId>org.slf4j</groupId>
</exclusion>
</exclusions>
</dependency>
<!-- slf4j: dependencies -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>${slf4j.version}</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>${slf4j.version}</version>
<!--
<scope>runtime</scope>
-->
<exclusions>
<exclusion>
<artifactId>log4j</artifactId>
<groupId>log4j</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
<version>${slf4j.version}</version>
</dependency>
<!-- log4j: dependencies -->
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>${log4j.version}</version>
<exclusions>
<exclusion>
<artifactId>jmxtools</artifactId>
<groupId>com.sun.jdmk</groupId>
</exclusion>
<exclusion>
<artifactId>jmxri</artifactId>
<groupId>com.sun.jmx</groupId>
</exclusion>
<exclusion>
<artifactId>mail</artifactId>
<groupId>javax.mail</groupId>
</exclusion>
<exclusion>
<artifactId>jms</artifactId>
<groupId>javax.jms</groupId>
</exclusion>
</exclusions>
</dependency>
<!-- other: dependencies -->
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>maven-jetty-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.0.2</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.0.2</version>
<configuration>
<warName>${project.artifactId}</warName>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.axis2</groupId>
<artifactId>axis2-wsdl2code-maven-plugin</artifactId>
<version>${axis2.version}</version>
<executions>
<execution>
<id>wsc_01</id>
<goals>
<goal>wsdl2code</goal>
</goals>
<configuration>
<wsdlFile>${codegen.wsc_01.wsdl-uri}</wsdlFile>
<packageName>${codegen.wsc_01.package-name}</packageName>
<namespaceToPackages>${codegen.wsc_01.namespace-map}</namespaceToPackages>
<outputDirectory>${codegen.wsc.target-dir}</outputDirectory>
<databindingName>adb</databindingName>
<syncMode>sync</syncMode>
<generateServerSide>false</generateServerSide>
<generateServicesXml>true</generateServicesXml>
<generateTestcase>true</generateTestcase>
<language>java</language>
</configuration>
</execution>
<!-- other wsc-generation params -->
</executions>
</plugin>
</plugins>
</build>
<properties>
<slf4j.version>1.6.3</slf4j.version>
<log4j.version>1.2.15</log4j.version>
<axis2.version>1.6.0</axis2.version>
<rampart.version>1.6.0</rampart.version>
<!-- codegen.client.properties -->
<codegen.wsc_01.wsdl-uri>wsdl_relative_path_or_url</codegen.wsc_01.wsdl-uri>
<codegen.wsc_01.package-name>your_root_package</codegen.wsc_01.package-name>
<codegen.wsc_01.namespace-map>http://your_url_namespace=your_java_namespace_mapped</codegen.wsc_01.namespace-map>
<codegen.wsc.target-dir>target/generated-sources/axis2/wsdl2code</codegen.wsc.target-dir>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-jdk14</artifactId>
<version>1.5.2</version>
</dependency>
</dependencies>
</dependencyManagement>
</project>