Maison > Java > javaDidacticiel > le corps du texte

Quelles sont les méthodes pour appeler les services WebService en Java ?

WBOY
Libérer: 2024-02-19 13:48:06
original
383 Les gens l'ont consulté

Quelles sont les méthodes pour appeler les services WebService en Java ?

Titre : Méthodes Java et exemples de code pour appeler des services WebService

Résumé : Cet article présente plusieurs méthodes permettant à Java d'appeler des services WebService et fournit des exemples de code spécifiques. Y compris l'utilisation d'axis2 pour générer du code client, l'utilisation de JAX-WS pour générer du code client, l'utilisation d'Apache CXF pour générer du code client et l'utilisation de Spring Boot pour intégrer les services WebService. Grâce à ces méthodes, Java peut être facilement implémenté pour appeler les services WebService.

Texte :

  1. Utilisez axis2 pour générer du code client

Axis2 est un framework WebService open source En utilisant axis2 pour générer du code client, vous pouvez simplifier le processus d'appel des services WebService.

Tout d’abord, créez un projet Java dans Eclipse et importez le package jar associé à axis2.

Ensuite, créez un package nommé "axis2Client" dans le répertoire racine du projet, et créez une nouvelle classe sous le package nommé "Axis2Client".

Ce qui suit est un exemple de code qui utilise axis2 pour appeler un service 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();
        }
    }
}
Copier après la connexion
  1. Utilisez JAX-WS pour générer du code client

Java API for XML Web Services (JAX-WS) est un outil de développement de Soap- services Web basés sur la norme Java facilite l'appel des services WebService en utilisant JAX-WS pour générer du code client.

Tout d'abord, créez un projet Java dans Eclipse et importez le package jar associé à JAX-WS.

Ensuite, créez un package nommé "jaxwsClient" dans le répertoire racine du projet, et créez une nouvelle classe sous le package nommé "JaxwsClient".

Ce qui suit est un exemple de code qui utilise JAX-WS pour appeler un service 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();
        }
    }
}
Copier après la connexion
  1. Utilisez Apache CXF pour générer du code client

Apache CXF est un framework pour développer des services Web, en utilisant Apache CXF pour générer du client code Cela peut simplifier le processus d'appel des services WebService.

Tout d'abord, créez un projet Java dans Eclipse et importez le package jar associé à Apache CXF.

Ensuite, créez un package nommé "cxfClient" dans le répertoire racine du projet, et créez une nouvelle classe sous le package nommé "CxfClient".

Ce qui suit est un exemple de code qui utilise Apache CXF pour appeler le service 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();
        }
    }
}
Copier après la connexion
  1. Utilisez Spring Boot pour intégrer le service WebService

Spring Boot fournit la fonction d'intégration du service WebService. En utilisant Spring Boot pour intégrer le service WebService, cela peut être plus pratique. Effectuez un appel WebService.

Tout d'abord, dans le projet Spring Boot, ajoutez la prise en charge de WebService, créez une interface nommée "MyService" et définissez la méthode de fonctionnement de WebService.

@WebService
public interface MyService {
    @WebMethod
    String operationName(String parameter);
}
Copier après la connexion

Ensuite, dans le projet Spring Boot, créez une classe nommée "MyServiceImpl", implémentez l'interface "MyService" et implémentez les méthodes de fonctionnement définies dans l'interface.

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

Enfin, dans le projet Spring Boot, effectuez les configurations pertinentes, démarrez l'application Spring Boot et appelez 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;
    }
}
Copier après la connexion

Résumé :

Cet article présente plusieurs méthodes d'appel de services WebService en Java et fournit des exemples de code spécifiques. Ces méthodes peuvent être utilisées pour implémenter facilement des appels Java aux services WebService.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!