axis和cxf框架客户端调用web Service

 在web Service领域,axis和cxf是常用的两种框架,在企业开发中常使用wsdl文件作为传输的形式,下面就这两种框架的客户端调用方式进行演示:

1axis方式:

//以下省略try catch语句

String endpoint = "url";//调用的web Service的wsdl地址
            // 调用过程
            Service service = new Service();

            Call call = (Call) service.createCall();

            call.setTargetEndpointAddress(new java.net.URL(endpoint));

                     call.setOperationName(new javax.xml.namespace.QName("namespace","method"));//namespace命名空间,method方法名
            
         
            call.addParameter("paramName",
						            org.apache.axis.encoding.XMLType.XSD_STRING,
						            javax.xml.rpc.ParameterMode.IN);// param操作的参数,后面的参数是参数的类型

            call.setReturnType(org.apache.axis.encoding.XMLType.XSD_STRING);// 设置返回类型

            call.setUseSOAPAction(true);

            // 给方法传递参数,并且调用方法
    
            
               Object[] obj = new Object[] { text };//text为参数值
            Object result= call.invoke(obj);//调用web Service
          

            System.out.println("Result is : " + result);

 CXF 调用方式:

JaxWsDynamicClientFactory dcf = JaxWsDynamicClientFactory.newInstance();
        org.apache.cxf.endpoint.Client client = dcf.createClient("url");
        //url为调用webService的wsdl地址


        QName name=new QName("namespace","methodName");//namespace是命名空间,methodName是方法名
String param="paramvalue";//paramvalue为参数值
  Object[] objects=client.invoke(name,param); //调用web Service
  
        //输出调用结果
        System.out.println(objects[0].toString());

 相比之下,cxf的调用方式比较简单,便于操作

转载于:https://my.oschina.net/u/134894/blog/292955

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值