首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

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

2012-08-03 
axis和cxf框架客户端调用web Service?在web Service领域,axis和cxf是常用的两种框架,在企业开发中常使用ws

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的调用方式比较简单,便于操作

热点排行