第一种:
Axis调用webService:
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import org.apache.axis.message.SOAPHeaderElement;
(注意这里引用的包不是axis2是axis)
public static String ask(String url,String method,Object[] params){
String result = null;
try {
Service service = new Service();
Call call = (Call) service.createCall();
call.setTargetEndpointAddress(new java.net.URL(url));
call.setProperty(Call.CONNECTION_TIMEOUT_PROPERTY, new Integer(
60 * 60000));
call.setTimeout(new Integer(60 * 60000));
call.setOperationName(method);//WSDL里面描述的接口名称
result = (String)call.invoke(params);
} catch (Exception e) {
log.error("调用webservice接口异常");
e.printStackTrace();
}
return result;
}
第二种:
axis2调用webService
import org.apache.axis2.AxisFault;
import org.apache.axis2.addressing.EndpointReference;
import org.apache.axis2.client.Options;
import org.apache.axis2.client.ServiceClient;
import org.apache.axis2.rpc.client.RPCServiceClient;
(注意这里引用的是axis2的包)
public void testRPC(){
try{
RPCServiceClient client = new RPCServiceClient();
Options options = client.getOptions();
// String url = "http://localhost:8080/axis2/services/HelloWebService?wsdl";
String url = "http://localhost:8089/webserviceServer/TestService?wsdl";
EndpointReference end = new EndpointReference(url);
options.setTo(end);
Object[] obj = new Object[]{"tom"};
Class<?>[] classes = new Class[] { String.class };
QName qname = new QName("http://testClick", "sayHello");
String result = (String) client.invokeBlocking(qname, obj,classes)[0];
System.out.println(result);
}catch(AxisFault e){
e.printStackTrace();
}
}
第三种:
import javax.xml.namespace.QName;
import org.apache.axiom.om.OMAbstractFactory;
import org.apache.axiom.om.OMElement;
import org.apache.axiom.om.OMFactory;
import org.apache.axiom.om.OMNamespace;
import org.apache.axis2.AxisFault;
import org.apache.axis2.addressing.EndpointReference;
import org.apache.axis2.client.Options;
import org.apache.axis2.client.ServiceClient;
import org.apache.axis2.rpc.client.RPCServiceClient;
(引入的包同第二种一样)
public void testOMElement(){
try{
ServiceClient sc = new ServiceClient();
Options opts = new Options();
String url = "http://localhost:8080/axis2/services/HelloWebService?wsdl";
EndpointReference end = new EndpointReference(url);
opts.setTo(end);
opts.setAction("sayHello");
sc.setOptions(opts);
OMFactory fac = OMAbstractFactory.getOMFactory();
OMNamespace omNs = fac.createOMNamespace("http://testClick", "");
OMElement method = fac.createOMElement("sayHello",omNs);
OMElement value = fac.createOMElement("name",omNs);
value.setText("admin");
method.addChild(value);
OMElement res = sc.sendReceive(method);
res.getFirstElement().getText();
System.out.println(res.getFirstElement().getText());
}catch(AxisFault e){
e.printStackTrace();
}
}
CXF调用webService:
JaxWsDynamicClientFactory dcf = JaxWsDynamicClientFactory.newInstance();
String cvsUrl = "http://xxxxxx?wsdl";
Client client = dcf.createClient(cvsUrl);
String params = "{\"username\":\""+config.getDataAcc()+"\",\"password\":\""+config.getDataPwd()+"\",\"jobName\":\""+holeTask.getTaskName()+"\"}";
objects = client.invoke("generalAssetResult", params);
参考文档:
http://www.2cto.com/kf/201311/257446.html
分享到:
相关推荐
1. **创建WebService**:在Axis2中,可以通过编写一个简单的Java类并暴露其方法作为Web服务接口。这个类通常会遵循SOAP协议,定义服务操作。例如,你可以创建一个名为`HelloWorldService`的类,包含一个`sayHello`...
CXF提供了一种从代码直接生成Web服务的方式,支持JAX-WS和JAX-RS标准,使得开发人员可以轻松地创建符合WSDL(Web服务描述语言)规范的服务。 2. **JAX-WS和JAX-RS**:JAX-WS是用于构建SOAP Web服务的标准,而JAX-RS...
3. "java 调用webservice的各种方法总结 - 比较详细且简单的.mht":这个文件应该汇总了多种Java调用Web服务的方法,比如使用JAX-WS、Apache CXF或Axis2等库,可能包括代码示例和优缺点分析。 4. "java调用...
本文将深入探讨在Java环境中调用WebService的五种主要方式:Axis、CXF、HttpClient、MyEclipse反向生成以及XFire。 1. Axis:Apache Axis是最早且广泛使用的SOAP库,用于创建和消费Web服务。使用Axis调用WebService...
本文将深入探讨两种流行的Java Web服务框架——Axis2和CXF,并提供一个简单的实例来帮助理解它们的工作原理和使用方法。 首先,让我们了解一下`Axis2`。Axis2是Apache软件基金会开发的一个高性能、灵活且可扩展的...
- **CXF**: 也是Apache的一个项目,它提供了一种简单的方式来构建和调用RESTful和SOAP Web服务。 #### 开发环境准备 - **IDE**: Eclipse (以Eclipse 3.4为例) - **工具库**: - Axis2 (本例采用版本1.4.1) - ...
CXF和Axis2是两个流行的Webservice框架,都是由现有的项目逐渐演化而来的。Axis2是由Axis1.x系列演化而来,而Apache CXF则是由Celtix和XFire项目整合而生。在本文中,我们将探讨CXF和Axis2框架的区别,以帮助开发者...
Axis1, Axis2, Xfire, CXF 是四种常用的WebService框架,它们之间有着不同的特点和应用场景。本文将对这四种框架进行详细的比较和分析,以帮助开发者选择合适的框架。 XFire 是一种新一代的 WebService 平台,它...
本文将深入探讨如何使用Axis2来动态地调用Web Service,并通过分析`WebServiceInvoker.java`这个文件来理解其实现原理。 1. **Java动态调用Web Service**: 在Java中,动态调用Web Service主要涉及到JAX-WS(Java ...
以上步骤详细介绍了如何使用Spring 3 + CXF 3.4搭建WebService服务端,并通过Axis 1.4客户端进行调用的过程。通过这种方式,可以实现不同技术栈之间Web服务的有效交互。在实际应用中,还需要注意安全性和性能优化等...
Java调用CXF WebService接口的两种方式实例 Java调用CXF WebService接口是Java开发者在开发过程中经常遇到的问题。今天,我们将讨论Java调用CXF WebService接口的两种方式实例,即静态调用和动态调用。 静态调用 ...
axis调用第三方webservice接口所需的jar包,包括axis-1.4.jar,axis-jaxrpc-1.3.jar,axis-jaxrpc-1.4.jar,commons-discovery-0.5.jar,commons-logging-1.2.jar,cxf-rt-databinding-jaxb-3.3.1.jar,javax.mail-...
本篇主要介绍两种常用的WebService框架——Axis和XFire(现已被CXF合并)的开发流程。 1. **Axis**:Axis是Apache软件基金会开发的开源SOAP WebService框架,它支持多种编程语言,如Java、Python等。Axis以其良好的...
本示例探讨了两种常见的Java WebService实现方式:Apache Axis和Apache CXF,它们都是开源的SOAP(简单对象访问协议)和RESTful服务框架。以下是关于这两种技术的详细解释及其在实际应用中的使用。 Apache Axis是最...
在本文中,我们将深入探讨WebService的原理以及如何利用Apache Axis和Apache CXF这两个流行的Java框架来实现和消费WebService。 首先,理解WebService的基础概念至关重要。WebService是一种通过互联网进行通信的...
要深入学习这个主题,可以参考博客“WebService:Axis客户端调用需要身份验证的CXF服务”。这个博客很可能详细解释了如何在实际代码中实现上述步骤,包括如何配置Axis客户端、如何处理认证头以及如何与CXF服务进行...
在本教程中,我们将深入探讨如何使用Spring Boot与Apache CXF整合来创建并提供Web服务。Spring Boot以其简化Java应用程序开发的特性而受到广泛欢迎,而CXF则是一个流行的开源框架,用于构建和消费Web服务。当我们...
描述中的“axis连接webservice所用的jar包”提到了Apache Axis,这是一个早期的Web服务客户端工具,用于调用CXF发布的Web服务。虽然CXF也可以作为客户端,但在这里可能是为了演示或兼容性的目的,使用Axis来消费服务...
总结,本教程详细介绍了如何利用Spring Boot和Apache CXF搭建Web Service服务端,以及使用JAX-WS的`javax.xml.ws.Service`和Apache CXF的`JaxWsProxyFactoryBean`两种方式实现Java客户端调用。这些技能对于开发者来...
文件“WebService_CXF学习.doc”和“axis2_WebService_开发指南.docx”、“axis_WebService_-_开发指南.docx”应该包含了关于这两个框架的详细教程和实践案例,可以帮助你更深入地理解和应用它们。 总的来说,Axis2...