cxf方式

  1. public static Object[] invokeRemoteMethod(String url, String method, Object[] parameters) {
  2. JaxWsDynamicClientFactory dcf = JaxWsDynamicClientFactory.newInstance();
  3. if (!url.endsWith("wsdl")) {
  4. url += "?wsdl";
  5. }
  6. org.apache.cxf.endpoint.Client client = dcf.createClient(url);
  7. try {
  8. Object[] objects = client.invoke(method, parameters);
  9. return objects;
  10. } catch (Exception e) {
  11. e.printStackTrace();
  12. }
  13. return null;
  14. }

maven引用

  1. <dependency>
  2. <groupId>org.apache.cxf</groupId>
  3. <artifactId>cxf-rt-frontend-jaxws</artifactId>
  4. <version>3.1.5</version>
  5. </dependency>
  6. <!-- https://mvnrepository.com/artifact/org.apache.cxf/cxf-core -->
  7. <dependency>
  8. <groupId>org.apache.cxf</groupId>
  9. <artifactId>cxf-core</artifactId>
  10. <version>3.1.5</version>
  11. </dependency>
  12. <dependency>
  13. <groupId>org.apache.cxf</groupId>
  14. <artifactId>cxf-rt-transports-http</artifactId>
  15. <version>3.1.5</version>
  16. </dependency>

缺点是效率低,调用速度慢

Xfire方式调用

  1. public static String getData(String wsUrl, String invoke, Object[] objParams) throws MalformedURLException, Exception {
  2. URL url = new URL(wsUrl);
  3. HttpURLConnection connection = (HttpURLConnection)url.openConnection();
  4. connection.connect();
  5. Client client = new Client(connection.getInputStream(), (Class)null);
  6. client.setProperty("disable-keep-alive", "true");
  7. client.setProperty("disable.expect-continue", "true");
  8. client.setUrl(wsUrl);
  9. Object[] result = client.invoke(invoke, objParams);
  10. String resultStr = result[0].toString();
  11. return "".equals(resultStr)?"":resultStr;
  12. }

maven引用

  1. <dependency>
  2. <groupId>org.codehaus.xfire</groupId>
  3. <artifactId>xfire-all</artifactId>
  4. <version>${xfire.version}</version>
  5. <exclusions>
  6. <exclusion>
  7. <groupId>org.springframework</groupId>
  8. <artifactId>spring</artifactId>
  9. </exclusion>
  10. </exclusions>
  11. </dependency>

缺点是jar包太旧了,很容易与其他包冲突

java动态调用webservice的更多相关文章

  1. Java动态调用webService,axis2动态调用webService

    Java动态调用webService axis2动态调用webService >>>>>>>>>>>>>>>& ...

  2. Atitit 动态调用webservice与客户端代理方式调用

    Atitit 动态调用webservice与客户端代理方式调用 方式1: 使用call.invoke  直接调用WSDL,缺点:麻烦,不推荐--特别是JAVA调用.NET的WS时,会有不少的问题需要解 ...

  3. 动态调用WebService(C#) (非常实用)

    通常我们在程序中需要调用WebService时,都是通过“添加Web引用”,让VS.NET环境来为我们生成服务代理,然后调用对应的Web服务.这样是使工作简单了,但是却和提供Web服务的URL.方法名 ...

  4. 动态调用webservice(部分转载)

    动态调用webservice,做个笔记: public class WSHelper { /// < summary> /// 动态调用web服务 /// < /summary> ...

  5. C# 动态调用webservice

    最近项目中,用到动态调用webservice的内容,此处记录下来,留着以后COPY(我们只需要在XML,config文件,或者数据库中配置webservice连接地址和方法名即可使用): using ...

  6. 动态调用webservice及WCF服务

    动态调用web服务,该方法只针对Web service, WCF的服务不行,如果是WCF的就通过工具直接生产代理类,把代理类配置到调用的项目中,通过配置客户端的终结点动态的取实现: 通过Svcutil ...

  7. C# .NET 动态调用webservice的三种方式

    转载自 百度文库 http://wenku.baidu.com/link?url=Q2q50wohf5W6UX44zqotXFEe_XOMaib4UtI3BigaNwipOHKNETloMF4ax4W ...

  8. WebService – 2.动态调用WebService

    在本节课程中,将演示如何通过程序动态添加.调用.编译.执行WebService并返回结果. WebService动态调用示意图 WebService相关知识 代码文档对象模型CodeDom的使用 编程 ...

  9. 用C#通过反射实现动态调用WebService 告别Web引用

    我们都知道,调用WebService可以在工程中对WebService地址进行WEB引用,但是这确实很不方便.我想能够利用配置文件灵活调用WebService.如何实现呢? 用C#通过反射实现动态调用 ...

随机推荐

  1. 马虎将classname加到了id属性中,造成报错

    今天做了一个瀑布流布局的小例子,自己在写代码的过程中一直报cannot read property 'style' of null,百度之后说是页面还没有加载完,但是我看了代码是写在window.on ...

  2. [转]Pythoin中的Lambda表达式

    引用自:http://www.cnblogs.com/evening/archive/2012/03/29/2423554.html 在学习python的过程中,lambda的语法时常会使人感到困惑, ...

  3. php class

    一个类可以包含有属于自己的常量,变量(称为"属性")以及函数(称为"方法"). $ 变量--专业术语上称它为"属性".  function ...

  4. [POJ&HDU]杂题记录

    POJ2152 树形dp,每次先dfs一遍求出距离再枚举所有点转移即可. #include<iostream> #include<cstdio> #include<cma ...

  5. arch+xfce4系统配置

    音量控制快捷键插件: sudo pacman -S xfce4-volumed

  6. 特性 Attribute

    特性就是一个类,必须是Attribute的子类 一般以Attribute结尾,然后在使用的时候,可以去掉这个结尾 可以在特性中声明字段.属性.方法.构造函数.委托.事件... [AttributeUs ...

  7. 【原创】JEECMS v6~v7任意文件上传漏洞(2)

    文章作者:rebeyond 受影响版本:v6~v7 漏洞说明: JEECMS是国内Java版开源网站内容管理系统(java cms.jsp cms)的简称.该系统基于java技术开发,继承其强大.稳定 ...

  8. jQuery校验

    jQuery校验 官网地址:http://bassistance.de/jquery-plugins/jquery-plugin-validation 一导入js库 <script src=&q ...

  9. Linux学习笔记<五>

    管道命令(pipe) 1.把一个命令的输出作为另一个命令的输入 ls -al /etc | less 2.选取命令:cut和grep cut命令可以将一段消息的某段切出来. -d接分隔符,-f是取出第 ...

  10. 使用QQ第三方登录时,手机应用和网站应用对同一个QQ号,获取到的openid不一样

    使用QQ第三方登录时,手机应用和网站应用对同一个QQ号,获取到的openid不一样openid生成是根据应用的appid和QQ号的一些信息加密生成,对于一个appid和QQ号来说,openid是唯一的 ...