我要用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();
}
}
}
发表评论
-
JIRA安装和破解
2012-10-11 16:06 1200JIRA是bug 跟踪,问题跟踪和项目管理的一个软件。 下面就 ... -
Oracle 安装 检查操作系统版本 必须是 5.0 5.1 的解决办法
2012-08-23 09:43 0在window server 2008 下安装oracle时出 ... -
Spring事物中PROPAGATION_REQUIRED【转】
2012-08-03 13:00 909事务传播行为种类 Spring在Transact ... -
Spring MVC 框架搭建及详解 -转载
2012-06-19 14:33 1242现在主流的Web MVC框架除了Struts这个主力 外,其次 ... -
erlang java 加解密(1)base64 (转载)
2012-06-19 13:18 2555Base64 Base64是一种基于64个字符的编码算法 ... -
ubuntu Eclipse is running in a JRE, but a JDK is required
2012-04-18 11:41 1124Eclipse is running in a JRE, bu ... -
ibatis中SAXParseException异常:The string “–” is not permitted within comments
2012-04-06 15:57 1962这个异常是说sqlmap里面的注释不符合规范。 1. 这个问 ... -
如何更改SOAP消息的编码
2012-03-30 15:14 5575OAP消息的编码一般默认 ... -
WebService优缺点
2012-03-19 16:00 813Web 服务的优缺点分析 ... -
java base64转图片
2012-03-09 17:18 4423为什么要用到BASE64 编 ... -
图片从数据流转换为字符型,方便网络传输 base64转换 【转】
2012-03-09 14:15 3199ndroid不能直接利用java里的base64类,需要自己定 ... -
log4j配置大全
2012-03-02 11:35 1238log4j.rootLogger 是配置log4j的根l ... -
spring+ibatis log4j.xml 控制台打印sql语句
2012-03-02 09:29 13387log4j.xml文件写法 spring+ibatis ... -
java多线程总结 【转载】
2012-02-21 16:05 947java 中的多线程 转载http:/ ... -
文件输出流 getResourceAsStream 【转】
2012-02-18 14:24 0getResourceAsStream ServletAct ... -
【转载】Oracle、DB2、SQLSERVER、Mysql、Access分页SQL语句梳理
2011-09-20 15:29 1001sqlserver分页 第一种分页方法 需用到的参数 ... -
valueOf 和parseDouble的区别
2011-09-13 10:59 1028valueOf 返回Double对象,参数是double 和 ... -
转载 mysql中DATETIME、DATE和TIMESTAMP的区别
2011-09-06 17:12 873DATETIME 、DATE 和 T ... -
window.location与window.open()区别
2011-09-06 10:26 950window.location与window.open()区别 ... -
myibatis 单引号问题解决
2011-09-02 16:21 903#{orgs} 改为 ${orgs} 就可以了,myib ...
相关推荐
最近项目中遇到需要去掉老系统的webservice服务中的insert方法,找了很久,发现这样最简单,实测有效!!!
cxf_axis_xfire客户端调用的几种方法.docx
NULL 博文链接:https://hi-beijing.iteye.com/blog/1299951
WebService调用的几种方式,总结了Axis,Cxf,HttpClient,Myeclipse反向生成,XFire调用方式。
WebService详细解析(axis,xfire,cxf,授权认证加密解密) 很详细,有很多例子,学习必备。
描述了axis2如何调用webservice,jar齐全,首先保证webservice的url能正常访问,下载资源后直接运 行com.axis2.test.TestAxis2的main方法即可。 axis2功能十分强大,可接受方法中返回任何类型,比如List, Set,...
xfire开发webservice与调用 用起来比axis简单,容易上手。没有axis那么复杂。性能也比axis好。附件里面包含教程文档及实例代码
java调用.net的webservice传字符串参数,axis方式和xfire方式的使用说明及相关jar包。
手头上做的java web的项目需要调用.net wcf发布的webservice,查资料看到XFire,Axis2,CXF这三种方式,然后仔细进行了一下对比。资料全来源自网络,不保证完全正确。
webservice远程调用,返回String数据并生成xml文件到本地工程,在通过SAX解析器把数据解析...在client工程我使用的是XFire技术,在webservice工程我使用的是axis技术来实现Web service。我们可以学习其中的一种就可以了
WebSevice 让一个程序可以透明地调用互联网程序,不用管具体的实现细节。只要WebService公开了服务接口,远程客户端就可以调用服务。...在Java领域 WebService常见的框架 Axis、XFire、CXF......。其中成熟实现的是AXIS。
java写webservice 及调用webserice的例子
代码中包含xfire接口调用和axis接口开发服务端和客户端源码。
对方的webservice服务端使用axis1.4开发,参数有String[]类型,试了cxf、xfire等都无法生成客户端,只能使用axis4. 解压后lib包已经全了。修改xx.bat里webservice地址一项,执行xx.bat生成客户端文件。 生成之后,...
axis,jax-ws,xfire客户端调用分析,以及webservice万能客户端
个人经验总结性文档,都是成功的经验,绝对超值
五、扩展2-使用axis(这时是1-4 版本)创建客户端代码.................................................... 28 1、使用WSDL2Java 工具根据WSDL 生成客户端代码.................................................. ...
适用初学web service。采用xfire 和 axis 客户端调用
适用于做Web开发使用,该电子版文档详细讲解了webService的调用及其开发。包含了soap协议的讲解以及wsdl的分析。
资源名称:WebServices基础培训视频与源码资源目录:【】1.WebService之AXIS即时发布【】10.WebService之创建自己ws站点进行调用操作【】11.WebService之查询数据库操作【】12.使用xfire开发webServie操作不同的数据...