ホームページ  >  記事  >  Java  >  Java で WebService サービスを呼び出すメソッドは何ですか?

Java で WebService サービスを呼び出すメソッドは何ですか?

WBOY
WBOYオリジナル
2024-02-19 13:48:06402ブラウズ

Java で WebService サービスを呼び出すメソッドは何ですか?

タイトル: WebService サービスを呼び出すための Java メソッドとコード例

要約: この記事では、Java が WebService サービスを呼び出すためのいくつかのメソッドを紹介し、具体的なコード例を示します。 axis2 を使用したクライアント コードの生成、JAX-WS を使用したクライアント コードの生成、Apache CXF を使用したクライアント コードの生成、Spring Boot を使用した WebService サービスの統合などが含まれます。これらのメソッドを通じて、Java を簡単に実装して WebService サービスを呼び出すことができます。

#テキスト:

    axis2 を使用してクライアント コードを生成する
Axis2 は、オープン ソースの WebService フレームワークです。axis2 を使用してクライアント コードを生成すると、次のコマンドを呼び出すことができます。 WebService サービス プロセスを簡略化します。

まず、Eclipse で Java プロジェクトを作成し、axis2 関連の jar パッケージをインポートします。

次に、プロジェクトのルート ディレクトリに「axis2Client」という名前のパッケージを作成し、そのパッケージの下に「Axis2Client」という名前の新しいクラスを作成します。

次は、axis2 を使用して WebService サービスを呼び出すサンプル コードです。

package axis2Client;

import org.apache.axis2.AxisFault;
import org.apache.axis2.Constants;
import org.apache.axis2.addressing.EndpointReference;
import org.apache.axis2.client.Options;
import org.apache.axis2.client.ServiceClient;
import org.apache.axis2.client.async.AsyncResult;
import org.apache.axis2.client.async.Callback;
import org.apache.axis2.client.async.CallbackHandler;
import org.apache.axis2.client.async.InvocationCallback;
import org.apache.axis2.client.async.Result;
import org.apache.axis2.transport.http.HTTPConstants;

public class Axis2Client {
    public static void main(String[] args) {
        try {
            // 创建ServiceClient对象
            ServiceClient client = new ServiceClient();

            // 设置服务地址
            Options options = new Options();
            options.setTo(new EndpointReference("http://localhost:8080/axis2/services/MyService"));

            // 设置超时时间(可选)
            options.setTimeOutInMilliSeconds(60000);

            // 设置请求SOAP头(可选)
            options.setProperty(HTTPConstants.CHUNKED, Constants.VALUE_FALSE);
            options.setProperty(HTTPConstants.REUSE_HTTP_CLIENT, Constants.VALUE_TRUE);

            // 设置认证信息(可选)
            options.setUserName("username");
            options.setPassword("password");

            // 将配置应用到ServiceClient对象
            client.setOptions(options);

            // 调用WebService方法
            Object[] result = client.invokeBlocking(
                    new QName("http://service.namespace.com/", "operationName"),
                    new Object[] { "parameter" },
                    new Class[] { String.class });

            // 处理返回结果
            String response = (String) result[0];
            System.out.println(response);
        } catch (AxisFault e) {
            e.printStackTrace();
        }
    }
}

    JAX-WS を使用してクライアント コードを生成します
Java API for XML Web Services (JAX-WS) は、Soap ベースの Web サービスを開発するための Java 標準であり、JAX-WS を使用してクライアント コードを生成することで、WebService サービスをより簡単に呼び出すことができます。

まず、Eclipse で Java プロジェクトを作成し、JAX-WS 関連の jar パッケージをインポートします。

次に、プロジェクトのルート ディレクトリに「jaxwsClient」という名前のパッケージを作成し、その下に「JaxwsClient」という名前の新しいクラスを作成します。

次に、JAX-WS を使用して WebService サービスを呼び出すサンプル コードを示します。

package jaxwsClient;

import javax.xml.namespace.QName;
import javax.xml.ws.Service;
import java.net.URL;

public class JaxwsClient {
    public static void main(String[] args) {
        try {
            // 创建服务的URL对象
            URL url = new URL("http://localhost:8080/MyService?wsdl");

            // 创建服务对象
            QName qname = new QName("http://service.namespace.com/", "MyService");
            Service service = Service.create(url, qname);

            // 获取服务的端口对象
            MyServicePortType port = service.getPort(MyServicePortType.class);

            // 调用WebService方法
            String response = port.operationName("parameter");

            // 处理返回结果
            System.out.println(response);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

    Apache CXF を使用してクライアント コードを生成する
Apache CXF は、Apache CXF を使用してクライアント コードを生成することにより、WebService サービスを呼び出すプロセスを簡素化する Web サービス開発用のフレームワークです。

まず、Eclipse で Java プロジェクトを作成し、Apache CXF 関連の jar パッケージをインポートします。

次に、プロジェクトのルート ディレクトリに「cxfClient」という名前のパッケージを作成し、その下に「CxfClient」という名前の新しいクラスを作成します。

以下は、Apache CXF を使用して WebService サービスを呼び出すサンプル コードです:

package cxfClient;

import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;

public class CxfClient {
    public static void main(String[] args) {
        try {
            // 创建JaxWsProxyFactoryBean对象
            JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();

            // 设置服务地址
            factory.setAddress("http://localhost:8080/MyService");

            // 设置服务接口
            factory.setServiceClass(MyServicePortType.class);

            // 创建接口代理对象
            MyServicePortType port = (MyServicePortType) factory.create();

            // 调用WebService方法
            String response = port.operationName("parameter");

            // 处理返回结果
            System.out.println(response);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

    Spring Boot を使用して WebService サービスを統合する
Spring Boot はサポートを提供しますfor WebService サービスの統合機能は、Spring Boot を使用して WebService サービスを統合することで、WebService の呼び出しを容易にします。

まず、Spring Boot プロジェクトで WebService のサポートを追加し、「MyService」という名前のインターフェイスを作成し、WebService の操作メソッドを定義します。

@WebService
public interface MyService {
    @WebMethod
    String operationName(String parameter);
}

次に、Spring Boot プロジェクトで、「MyServiceImpl」という名前のクラスを作成し、「MyService」インターフェイスを実装し、インターフェイスに定義されている操作メソッドを実装します。

@WebService(serviceName = "MyService")
public class MyServiceImpl implements MyService {
    @Override
    public String operationName(String parameter) {
        // 业务逻辑处理
        return "response";
    }
}

最後に、Spring Boot プロジェクトで関連する構成を実行し、Spring Boot アプリケーションを起動して、WebService を呼び出します。

@RestController
public class MyController {
    private final MyService myService;

    public MyController(MyService myService) {
        this.myService = myService;
    }

    @GetMapping("/invokeWebService")
    public String invokeWebService() {
        String response = myService.operationName("parameter");
        return response;
    }
}

概要:

この記事では、WebService サービスを呼び出す Java のいくつかのメソッドを紹介し、具体的なコード例を示します。これらのメソッドを使用すると、WebService サービスへの Java 呼び出しを簡単に実装できます。

以上がJava で WebService サービスを呼び出すメソッドは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。