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 :
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(); } } }
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(); } } }
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(); } } }
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); }
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"; } }
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; } }
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!