我要用JAVA调用一个WEBservice
WEBservice的地址为:http://www.xxxxx.com.cn/webservice/online.asmx
方法名:checkMember
此方法将返回void
怎么样来实现呢?
是那种方法的axis还是xfire的,两种调用方法不同。
axis:
package test;
import java.net.MalformedURLException;
import java.rmi.RemoteException;
import javax.xml.namespace.QName;
import javax.xml.rpc.ServiceException;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
public class CallService {
public static void main(String[] args) {
try {
Log log = LogFactory.getLog(CallService.class);
String endpoint ="http://localhost:8090/testAxisl/services/UserService";
Service service =new Service();
Call call = (Call) service.createCall();
call.setTargetEndpointAddress( new java.net.URL(endpoint) );
// call.setOperationName(new QName("UserService", "save"));//设置操作的名称。
//由于需要认证,故需要设置调用的用户名和密码。
call.getMessageContext().setUsername("sophia");
call.getMessageContext().setPassword("sophia");
//调用的方法
call.setOperationName("getUserByName" );
// //方法中的参数
// call.invoke(new Object[] {"1011","aaaa","aaaa","test"});
call.invoke(new Object[] {"aaaa"});
// call.setOperationName("createUserByUserInfo" );
} catch (ServiceException e) {
e.printStackTrace();
System.out.println("Service 获取 Call对象失败!");
} catch (MalformedURLException e) {
e.printStackTrace();
System.out.println("new java.net.URL(url)错误!");
} catch (RemoteException e) {
e.printStackTrace();
System.out.println("远程错误!");
}
}
}
xfire:
package test;
import java.lang.reflect.Proxy;
import java.net.MalformedURLException;
import org.codehaus.xfire.client.Client;
import org.codehaus.xfire.client.XFireProxy;
import org.codehaus.xfire.client.XFireProxyFactory;
import org.codehaus.xfire.service.Service;
import org.codehaus.xfire.service.binding.ObjectServiceFactory;
import webservice.ClientAuthHandler;
import webservice.HelloWorld;
public class HelloWorldClient {
public static void main(String[] args) {
try{
Service serviceModel = new ObjectServiceFactory().create(HelloWorld.class);
HelloWorld service = (HelloWorld) new XFireProxyFactory().create(serviceModel,
"http://localhost:8090/testWebService/HelloWorldService.ws?");
XFireProxy proxy = (XFireProxy)Proxy.getInvocationHandler(service);
Client client = proxy.getClient();
//不加用户密码验证会报错,并且终止远程调用
client.addOutHandler(new ClientAuthHandler("system", "manager"));
System.out.println(service.getMes("aaa"));
System.out.println(service.sayHelloWorld("402881861961127c011961c9be590036"));
// System.out.println(service.sayHelloWorld("1001"));
// System.out.println(service.getDemoString("abc"));
}catch(MalformedURLException e){
System.out.println("错误!");
e.printStackTrace();
}
}
}
分享到:
相关推荐
在开发中,我们通常会遇到两种调用方式:动态调用和静态调用。这两种方法各有特点,适用于不同的场景。 静态调用是通过在项目中添加Web引用或者服务引用来实现的。这种调用方式在编译时就已经确定了服务接口,因此...
相信大家在调用rest webservice通常使用httpclient.该示例代码是使用httpconnection的形式,以POST和GET两种方式提交调用REST WebService。在项目中一直使用的工具类,分享给大家
调用WebService分为静态调用和动态调用两种方式: - **静态调用**:通过WSDL文件生成客户端代理类,然后像调用本地方法一样调用WebService。例如,在Java中,可以使用wsimport工具从WSDL生成客户端代码。 - **动态...
Axis2 提供了两种发布 WebService 的方式:打包发布和不打包发布。本文主要介绍不打包发布的方式,这种方式类似于 XFire,适用于遇到兼容性问题的情况。 **步骤详解:** 1. **添加 JAR 包:** - 从 Axis2 的 WAR ...
本示例将详细讲解如何使用.NET来调用一个WebService接口,并提供相关的代码实例。 首先,让我们理解Web Service的基本概念。Web Service是一种基于XML(可扩展标记语言)的标准化方法,用于在不同应用程序之间共享...
C#提供了两种主要的异步调用方式:Begin/End模式(基于IAsyncResult接口)和async/await模式(基于Task类)。在Begin/End模式下,调用开始使用`BeginInvoke`,然后在适当的时间使用`EndInvoke`获取结果: ```csharp...
本教程将讲解如何使用Spring Boot集成Apache CXF(一个强大的Java Web Service框架)来构建服务端,并探讨两种Java客户端调用Web Service接口的方法。 首先,我们需要理解Spring Boot与CXF的整合。Spring Boot通过...
HttpClient可以处理这两种类型的Web服务。在本示例中,我们假设你正在使用SOAP,因为通常需要发送XML格式的数据到WebService。 1. **导入必要的库**: 包含在压缩包中的jar文件可能是HttpClient库和其他依赖,如`...
本文将深入探讨WebService的两种客户端调用方式,并通过源码分析和实际工具的使用来帮助你理解这两种方法。 一、SOAP(Simple Object Access Protocol)调用 1. SOAP简介:SOAP是一种基于XML的协议,用于在Web上...
本文将深入探讨如何使用JavaScript调用Web Service,以及如何解决在这个过程中遇到的问题,以配合“js调用webservice示例+源码”的主题。 Web Service是一种基于网络的、平台无关的服务,它通过SOAP(Simple Object...
4. **调用WebService的两种方式** - **SOAP WebService**:使用XML格式的请求和响应,通常通过HTTP POST方法调用。在JavaScript中,可以使用`XMLHttpRequest`对象或第三方库如jQuery的`$.ajax()`方法来实现。 - **...
### WebService服务的三种调用方式 在现代软件开发中,WebService作为一种标准的服务提供机制,在分布式系统中的应用非常广泛。本文将详细介绍基于SOAP协议的远程WebService服务的三种常见调用方式,帮助开发者根据...
这种方式需要手动构建和解析XML消息,虽然灵活性高,但相比前两种方法,开发工作量会增加。 4. **JDBC/ODBC Bridge to Web Services**: 对于已经具备数据库连接能力的应用,PB 11.5也提供了通过JDBC或ODBC桥接器...
WebService接口调用工具类是Java开发中常见的一种技术,用于与远程服务进行通信,尤其在集成不同系统或服务时非常关键。在这个场景中,"webservice接口调用工具类依赖jar包"指的是为了实现对WebService接口的调用,...
接下来,我们要讨论如何调用这些Web服务,这通常涉及到以下两个主要方面: 1. **JavaScript调用**:在前端,你可以使用JavaScript库如jQuery或XMLHttpRequest对象来发起HTTP请求,调用Web服务。你需要构造一个SOAP...
本压缩包包含的三个文档详细讲解了如何利用Ajax和JavaScript来调用WebService,这对于理解这两种技术的集成至关重要。 首先,让我们了解一下Ajax。Ajax是一种在不刷新整个网页的情况下,能够更新部分网页内容的技术...
Web服务(WebService)是一种基于标准协议的,可互操作的软件接口,允许不同系统之间进行数据交换和功能调用。在本案例中,我们将重点讨论如何使用Axis框架来调用Web服务并传递参数。 首先,我们需要理解Web服务的...
【标题】:“webService调用实例 Demo” 在IT行业中,Web Service是一种常见的应用程序接口(API)形式,它允许不同系统间的交互,无论它们是用何种编程语言或运行在何种操作系统上。本“webService调用实例 Demo”...
调用Web Service在SQL Server中主要通过两种方式实现:T-SQL的XML方法和使用.NET Framework的存储过程。 1. **T-SQL的XML方法**: 使用T-SQL的内置函数如`OPENXML`、`sp_xml_preparedocument`和`sp_xml_...
首先,VB6.0调用Web服务有两种主要方法:一是通过SOAP(简单对象访问协议),二是使用COM组件或ActiveX控件。本文将以SOAP为例进行详细讲解,因为它是跨平台的、与语言无关的通信协议,适合于不同系统间的交互。 ...