java で SOAP インターフェイスを呼び出す
SOAPインターフェイスを呼び出すために、JAX-WS(Java API for XML Web Services)などのJavaのSOAPクライアントライブラリを使用できます。
SOAPインターフェースを呼び出す基本的な手順は次のとおりです。
- Eclipseなどの統合開発環境(IDE)を使用して、Javaプロジェクトを作成することで、SOAPクライアントプロジェクトを作成できます。
- jax-wsを使う場合は、関連するJARファイルをプロジェクトのクラスパスに追加してください。
- JAX-WSが提供するwsimportツールを使用して、SOAPインターフェイスに対応するJavaコードを生成できます。以下のコマンドをコマンドラインで実行してください。
- wsimport -keep -s <生成コードのディレクトリ> <WSDLファイルのURL>
- それはSOAPインターフェースに関連したJavaコードを生成します。
- 生成的JavaコードにはSOAPクライアントオブジェクトを作成するために使用できるクラスが含まれています。
- SOAPインターフェイスの要求に応じて SOAP メッセージのプロパティとパラメータを設定します。
- SOAP クライアントオブジェクトから SOAP インターフェイスメソッドを呼び出す。
- SOAP応答の処理 SOAPインタフェースに基づき応答されたSOAPメッセージを処理します。
SOAPインターフェイスを呼び出すためのJAX-WSを使用する方法を示すシンプルなサンプルコードを次に示します。
// 导入相关的类
import javax.xml.namespace.QName;
import javax.xml.ws.Service;
import com.example.soap.HelloWorld;
public class SOAPClient {
public static void main(String[] args) throws Exception {
// 创建一个服务客户端
URL wsdlUrl = new URL("http://example.com/soap?wsdl");
QName serviceName = new QName("http://example.com/", "HelloWorldService");
Service service = Service.create(wsdlUrl, serviceName);
// 获取SOAP接口的代理对象
QName portName = new QName("http://example.com/", "HelloWorldPort");
HelloWorld helloWorld = service.getPort(portName, HelloWorld.class);
// 调用SOAP接口的方法
String result = helloWorld.sayHello("World");
// 处理SOAP响应
System.out.println(result);
}
}
このコードサンプルでは、サービスのクライアントを作成し、そのクライアントを使用してSOAPインターフェイスのプロキシオブジェクトを取得します。次に、SOAPインターフェイスのsayHelloメソッドを呼び出して、返された結果をコンソールに出力します。
記載しておきますが、上記のコードサンプルは簡略化されたものであり、実際のSOAPインターフェイスと要件に応じて、適切な修正が必要となる場合がありますのでご注意ください。