Heim > Java > javaLernprogramm > Welche Methoden gibt es zum Aufrufen von WebService-Diensten in Java?

Welche Methoden gibt es zum Aufrufen von WebService-Diensten in Java?

WBOY
Freigeben: 2024-02-19 13:48:06
Original
441 Leute haben es durchsucht

Welche Methoden gibt es zum Aufrufen von WebService-Diensten in Java?

Titel: Java-Methoden und Codebeispiele zum Aufrufen von WebService-Diensten

Zusammenfassung: In diesem Artikel werden verschiedene Methoden für Java zum Aufrufen von WebService-Diensten vorgestellt und spezifische Codebeispiele bereitgestellt. Einschließlich der Verwendung von axis2 zum Generieren von Clientcode, der Verwendung von JAX-WS zum Generieren von Clientcode, der Verwendung von Apache CXF zum Generieren von Clientcode und der Verwendung von Spring Boot zur Integration von WebService-Diensten. Durch diese Methoden kann Java einfach zum Aufrufen von WebService-Diensten implementiert werden.

Text:

  1. Verwenden Sie axis2, um Client-Code zu generieren

Axis2 ist ein Open-Source-WebService-Framework. Durch die Verwendung von axis2 zum Generieren von Client-Code können Sie den Prozess des Aufrufs von WebService-Diensten vereinfachen.

Erstellen Sie zunächst ein Java-Projekt in Eclipse und importieren Sie das zu axis2 gehörige JAR-Paket.

Als nächstes erstellen Sie ein Paket mit dem Namen „axis2Client“ im Stammverzeichnis des Projekts und erstellen eine neue Klasse unter dem Paket mit dem Namen „Axis2Client“.

Das Folgende ist ein Beispielcode, der axis2 verwendet, um einen WebService-Dienst aufzurufen:

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();
        }
    }
}
Nach dem Login kopieren
  1. Verwenden Sie JAX-WS, um Client-Code zu generieren

Java API for XML Web Services (JAX-WS) ist ein Tool zum Entwickeln von Soap- Basierend auf Webdiensten Der Java-Standard erleichtert das Aufrufen von WebService-Diensten durch die Verwendung von JAX-WS zum Generieren von Clientcode.

Erstellen Sie zunächst ein Java-Projekt in Eclipse und importieren Sie das JAX-WS-bezogene JAR-Paket.

Als nächstes erstellen Sie ein Paket mit dem Namen „jaxwsClient“ im Stammverzeichnis des Projekts und erstellen eine neue Klasse unter dem Paket mit dem Namen „JaxwsClient“.

Das Folgende ist ein Beispielcode, der JAX-WS verwendet, um einen WebService-Dienst aufzurufen:

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();
        }
    }
}
Nach dem Login kopieren
  1. Verwenden Sie Apache CXF, um Client-Code zu generieren.

Apache CXF ist ein Framework zum Entwickeln von Webdiensten, indem Apache CXF zum Generieren von Clients verwendet wird Code Es kann den Prozess des Aufrufs von WebService-Diensten vereinfachen.

Erstellen Sie zunächst ein Java-Projekt in Eclipse und importieren Sie das mit Apache CXF verbundene JAR-Paket.

Als nächstes erstellen Sie ein Paket mit dem Namen „cxfClient“ im Stammverzeichnis des Projekts und erstellen eine neue Klasse unter dem Paket mit dem Namen „CxfClient“.

Das Folgende ist ein Beispielcode, der Apache CXF zum Aufrufen des WebService-Dienstes verwendet:

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();
        }
    }
}
Nach dem Login kopieren
  1. Verwenden Sie Spring Boot, um den WebService-Dienst zu integrieren.

Spring Boot bietet die Integrationsfunktion des WebService-Dienstes. Durch die Verwendung von Spring Boot zur Integration des WebService-Dienstes. Es kann bequemer sein, einen WebService-Aufruf durchzuführen.

Fügen Sie im Spring Boot-Projekt zunächst Unterstützung für WebService hinzu, erstellen Sie eine Schnittstelle mit dem Namen „MyService“ und definieren Sie die Betriebsmethode von WebService.

@WebService
public interface MyService {
    @WebMethod
    String operationName(String parameter);
}
Nach dem Login kopieren

Erstellen Sie dann im Spring Boot-Projekt eine Klasse mit dem Namen „MyServiceImpl“, implementieren Sie die Schnittstelle „MyService“ und implementieren Sie die in der Schnittstelle definierten Betriebsmethoden.

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

Abschließend nehmen Sie im Spring Boot-Projekt die relevanten Konfigurationen vor, starten die Spring Boot-Anwendung und rufen WebService auf.

@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;
    }
}
Nach dem Login kopieren

Zusammenfassung:

In diesem Artikel werden verschiedene Methoden zum Aufrufen von WebService-Diensten in Java vorgestellt und spezifische Codebeispiele bereitgestellt. Mit diesen Methoden können Java-Aufrufe an WebService-Dienste einfach implementiert werden.

Das obige ist der detaillierte Inhalt vonWelche Methoden gibt es zum Aufrufen von WebService-Diensten in Java?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage