基本認証を備えたSOAP Webサービスを操作しようとしていますが、URL、ユーザー名、パスワードがあります。このWebサービスをJavaコードなので、jarファイルを作成する必要があります。
以下のURLを見ましたが、正しくフォローしたかどうかわかりません。 http://axis.Apache.org/axis2/Java/core/docs/userguide-creatingclients.html#choosingclienthttp://javasourcecodeetc.blogspot.com/2011/07/ convert-wsdl-to-Java-for-calling-soap.html
http://axis.Apache.org/axis2/Java/core/download.cgi (バイナリ配布のみ)からaxis2-1.6.2をダウンロードしました。
与えられたクライアントスタブがあります... build.xmlで使用すると言われていますが、build.xmlがどこにも見つかりませんでした.... Apacheをセットアップするためにインストールする必要があるものをすべて教えてください軸とアリ?ここでアリは何をしているのですか?
Markの答えは機能しますが、私はMavenの人であり、最終的に出力jarをMaven化したいです。
Mavenでそれを行う方法は次のとおりです。
mydir/MyWsdl.wsdl
)。pom.xml
ファイルを作成します(以下を参照)。mvn package
を実行します。これがあなたが最終的にするものです
└── mydir
├── MyWsdl.wsdl
├── pom.xml
└── target (add this dir to .gitignore)
├── generated-sources
├── mywsdl-0.1.0-SNAPSHOT.jar
├── mywsdl-0.1.0-SNAPSHOT-sources.jar
└── mywsdl-0.1.0-SNAPSHOT-javadoc.jar
そして、pom.xml
ファイルのソース
<?xml version="1.0" encoding="UTF-8"?>
<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>com.example</groupId>
<artifactId>mywsdl</artifactId>
<version>0.1.0-SNAPSHOT</version>
<name>My WSDL client</name>
<build>
<plugins>
<!-- Generates Java source files from the WSDL -->
<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>com.example</packageName>
<wsdlFile>MyWsdl.wsdl</wsdlFile>
<!-- TODO: Update this file with new WSDL versions -->
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.Apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<executions>
<execution>
<id>attach-sources</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.Apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<executions>
<execution>
<id>attach-javadocs</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>org.Apache.axis2</groupId>
<artifactId>axis2</artifactId>
<version>1.6.2</version>
</dependency>
<dependency>
<groupId>org.Apache.axis2</groupId>
<artifactId>axis2-adb</artifactId>
<version>1.6.2</version>
</dependency>
<dependency>
<groupId>org.Apache.ws.commons.axiom</groupId>
<artifactId>axiom-api</artifactId>
<version>1.2.14</version>
</dependency>
<dependency>
<groupId>org.Apache.ws.commons.axiom</groupId>
<artifactId>axiom-impl</artifactId>
<version>1.2.14</version>
</dependency>
</dependencies>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
</project>
Axis2は、Webサービスクライアントをサポートするいくつかの方法をサポートしています。最も一般的なアプローチは文書化されています ここ そしてWSDLファイルによって記述されたJavaメッセージを解析するSOAPコードの生成を含みます。
次の回答は、Webサービスを呼び出すいくつかの方法を説明しています。最後の部分では、Axis2によって生成され、ANTを使用してコンパイルされたクラスを使用するGroovyスクリプトについて説明します。
Wsdl2Javaプログラム(Axis2にバンドルされている)は、指定されたWSDLファイルに基づいてANTプロジェクトを生成します。
$AXIS2_HOME/bin/wsdl2Java.sh -d adb -s -o mydir -uri http://www.xmlme.com/WSShakespeare.asmx?WSDL
これにより、次のファイルが生成されます。
└── mydir
├── build.xml
└── src
└── com
└── xmlme
└── webservices
└── ShakespeareStub.Java
生成されたJavaコードを確認すると、WSDLファイルで定義されたXMLスキーマタイプに一致するJavaクラスが見つかり、シリアル化と逆シリアル化が簡単になります。 SOAPメッセージ。
「build.xml」ファイルには、生成されたJavaコードをコンパイルするロジックが含まれています。
cd mydir
ant
ビルドが実行されると、デフォルトで次のようにjarファイルが作成されます。
└── mydir
├── build
│ ├── classes
│ │ └── ..
│ │ ..
│ └── lib
│ └── Shakespeare-test-client.jar
├── build.xml
└── src
└── com
└── xmlme
└── webservices
└── ShakespeareStub.Java
このjarファイルは、WebサービスにアクセスしたいJava(または その他の回答 の私の例のgroovyスクリプトを参照)に含めることができます。