原生java调用webservice的方法,不用生成客户端代码
2015年10月29日 16:46:59

阅读数:1455
  1. <span style="font-family: Arial, Helvetica, sans-serif;">package com.kingdee.eas.cp.trd.webservice.taskinter;</span>
<span style="font-family: Arial, Helvetica, sans-serif;">package com.kingdee.eas.cp.trd.webservice.taskinter;</span>
  1. import java.rmi.RemoteException;
  2. import javax.xml.namespace.QName;
  3. import javax.xml.rpc.ServiceException;
  4. import org.apache.axis.client.Call;
  5. import org.apache.axis.client.Service;
  6. import org.apache.axis.message.SOAPHeaderElement;
  7. import com.kingdee.bos.Context;
  8. import com.kingdee.bos.webservice.login.WSContext;
  9. public class TaskInterUtil
  10. {
  11. public static String getUserCreditFilesData(Context ctx,String userId)
  12. {
  13. try {
  14. Service s = new Service();
  15. Call call = (Call) s.createCall();
  16. call.setOperationName("login");
  17. call.setTargetEndpointAddress("http://10.0.55.5:6888/ormrpc/services/EASLogin?wsdl");
  18. call.setReturnType(new QName("urn:client", "WSContext"));
  19. call.setReturnClass(WSContext.class);
  20. call.setReturnQName(new QName("", "loginReturn"));
  21. call.setMaintainSession(true);
  22. String headerValue ;
  23. String headerNamePlace = "http://login.webservice.bos.kingdee.com";
  24. //                  WSContext result = ((WSContext) call.invoke(new Object[] { "sysWS","sysWS","eas","TESTSSC8", "l2",Integer.valueOf("2"),"BaseDB"}));
  25. WSContext result = ((WSContext) call.invoke(new Object[] { "sysWS","sysWS","eas","TESTSSC8", "l2",2}));
  26. String sessionid = result.getSessionId();
  27. System.out.println(sessionid);
  28. call.clearOperation();
  29. //call = (Call)  new Service().createCall();,不能创建一个新的call
  30. call.setOperationName("getUserCreditFilesData");
  31. //          call.setOperationName("createJob");
  32. call.setMaintainSession(true);
  33. call.setTargetEndpointAddress("http://10.0.55.5:6888/ormrpc/services/WSTaskInterFacede?wsdl");
  34. call.addHeader(new SOAPHeaderElement("http://login.webservice.bos.kingdee.com","SessionId", sessionid));
  35. //          boolean b =(Boolean) call.invoke(new Object[] { "111"});
  36. Object b = call.invoke(new Object[] { "bLXZIU9+SiuLKkJor2m9NhO33n8=", "", "", "", "", "", "", "10.0.55.5"});
  37. System.out.println("ssss");
  38. } catch (ServiceException e) {
  39. e.printStackTrace();
  40. } catch (RemoteException e) {
  41. e.printStackTrace();    }
  42. return "";
  43. }
  44. }
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.axis.message.SOAPHeaderElement; import com.kingdee.bos.Context;
import com.kingdee.bos.webservice.login.WSContext; public class TaskInterUtil
{
public static String getUserCreditFilesData(Context ctx,String userId)
{
try {
Service s = new Service();
Call call = (Call) s.createCall();
call.setOperationName("login");
call.setTargetEndpointAddress("http://10.0.55.5:6888/ormrpc/services/EASLogin?wsdl");
call.setReturnType(new QName("urn:client", "WSContext"));
call.setReturnClass(WSContext.class);
call.setReturnQName(new QName("", "loginReturn"));
call.setMaintainSession(true);
String headerValue ;
String headerNamePlace = "http://login.webservice.bos.kingdee.com";
// WSContext result = ((WSContext) call.invoke(new Object[] { "sysWS","sysWS","eas","TESTSSC8", "l2",Integer.valueOf("2"),"BaseDB"}));
WSContext result = ((WSContext) call.invoke(new Object[] { "sysWS","sysWS","eas","TESTSSC8", "l2",2}));
String sessionid = result.getSessionId();
System.out.println(sessionid);
call.clearOperation(); //call = (Call) new Service().createCall();,不能创建一个新的call call.setOperationName("getUserCreditFilesData");
// call.setOperationName("createJob");
call.setMaintainSession(true);
call.setTargetEndpointAddress("http://10.0.55.5:6888/ormrpc/services/WSTaskInterFacede?wsdl");
call.addHeader(new SOAPHeaderElement("http://login.webservice.bos.kingdee.com","SessionId", sessionid));
// boolean b =(Boolean) call.invoke(new Object[] { "111"});
Object b = call.invoke(new Object[] { "bLXZIU9+SiuLKkJor2m9NhO33n8=", "", "", "", "", "", "", "10.0.55.5"});
System.out.println("ssss");
} catch (ServiceException e) {
e.printStackTrace();
} catch (RemoteException e) {
e.printStackTrace(); } return "";
}
}

2.

  1. String result = null;
  2. try {
  3. Properties p = new Properties();
  4. String propertiesUrl = "com/kingdee/eas/fi/gl/client/propertie.properties";
  5. InputStream ins = VoucherEditUICTEx.class.getClassLoader().getResourceAsStream(propertiesUrl);
  6. p.load(ins);
  7. String showImageUrl = p.getProperty("showImageUrl");
  8. //直接引用远程的wsdl文件
  9. //以下都是套路
  10. Service service = new Service();
  11. Call call = (Call) service.createCall();
  12. call.setTargetEndpointAddress(showImageUrl);
  13. call.setOperationName("imageOutSrv");//WSDL里面描述的接口名称
  14. call.addParameter("inJsonString", org.apache.axis.encoding.XMLType.XSD_DATE, javax.xml.rpc.ParameterMode.IN);//接口的参数
  15. call.setReturnType(org.apache.axis.encoding.XMLType.XSD_STRING);//设置返回类型
  16. //          companyNumber = "CWGX001";
  17. //          voucherPeriod = "2015-08";
  18. //          voucherTitle = "记字集团";
  19. //          voucherCode = "WK06-0001";
  20. String AppID = "EAS701";
  21. String Provider = "IMSSC";
  22. StringBuffer param = new StringBuffer();
  23. param.append("  {                   ");
  24. param.append("      \"Message\":{                   ");
  25. param.append("          \"Header\":{                    ");
  26. param.append("              \"AppID\":\""+AppID+"\",                    ");
  27. param.append("              \"Provider\":\""+Provider+"\"                   ");
  28. param.append("          },                  ");
  29. param.append("          \"Body\":{                  ");
  30. param.append("              \"ACTION_METHOD\":\"showImage\",                    ");
  31. param.append("              \"PARAMS\":{                    ");
  32. param.append("                  \"COMPANY_CODE\":\""+companyNumber+"\",                 ");
  33. param.append("                  \"VOUCHER_PERIOD\":\""+voucherPeriod+"\",                   ");
  34. param.append("                  \"VOUCHER_TITLE\":\""+voucherTitle+"\",                 ");
  35. param.append("                  \"VOUCHER_CODE\":\""+voucherCode+"\"                    ");
  36. param.append("              }                   ");
  37. param.append("          }                   ");
  38. param.append("      }                   ");
  39. param.append("  }                   ");
  40. result = (String)call.invoke(new Object[]{param.toString()});
  41. //给方法传递参数,并且调用方法
  42. System.out.println("result is "+result);
  43. } catch (Exception e1) {
  44. e1.printStackTrace();
  45. MsgBox.showInfo("EAS核算凭证影像调阅接口调用失败");
  46. SysUtil.abort();
  47. }
		String result = null;
try {
Properties p = new Properties();
String propertiesUrl = "com/kingdee/eas/fi/gl/client/propertie.properties";
InputStream ins = VoucherEditUICTEx.class.getClassLoader().getResourceAsStream(propertiesUrl);
p.load(ins); String showImageUrl = p.getProperty("showImageUrl");
//直接引用远程的wsdl文件
//以下都是套路
Service service = new Service();
Call call = (Call) service.createCall();
call.setTargetEndpointAddress(showImageUrl);
call.setOperationName("imageOutSrv");//WSDL里面描述的接口名称
call.addParameter("inJsonString", org.apache.axis.encoding.XMLType.XSD_DATE, javax.xml.rpc.ParameterMode.IN);//接口的参数
call.setReturnType(org.apache.axis.encoding.XMLType.XSD_STRING);//设置返回类型 // companyNumber = "CWGX001";
// voucherPeriod = "2015-08";
// voucherTitle = "记字集团";
// voucherCode = "WK06-0001"; String AppID = "EAS701";
String Provider = "IMSSC"; StringBuffer param = new StringBuffer();
param.append(" { ");
param.append(" \"Message\":{ ");
param.append(" \"Header\":{ ");
param.append(" \"AppID\":\""+AppID+"\", ");
param.append(" \"Provider\":\""+Provider+"\" ");
param.append(" }, ");
param.append(" \"Body\":{ ");
param.append(" \"ACTION_METHOD\":\"showImage\", ");
param.append(" \"PARAMS\":{ ");
param.append(" \"COMPANY_CODE\":\""+companyNumber+"\", ");
param.append(" \"VOUCHER_PERIOD\":\""+voucherPeriod+"\", ");
param.append(" \"VOUCHER_TITLE\":\""+voucherTitle+"\", ");
param.append(" \"VOUCHER_CODE\":\""+voucherCode+"\" ");
param.append(" } ");
param.append(" } ");
param.append(" } ");
param.append(" } "); result = (String)call.invoke(new Object[]{param.toString()});
//给方法传递参数,并且调用方法
System.out.println("result is "+result);
} catch (Exception e1) {
e1.printStackTrace();
MsgBox.showInfo("EAS核算凭证影像调阅接口调用失败");
SysUtil.abort();
}

原生java调用webservice的方法,不用生成客户端代码的更多相关文章

  1. Java调用webservice接口方法

                             java调用webservice接口   webservice的 发布一般都是使用WSDL(web service descriptive langu ...

  2. java 使用CXF将wsdl文件生成客户端代码命令java调用第三方的webservice应用实例

    1.先下载cxf包https://download.csdn.net/download/suizhikuo/108112362.解压缩包,通过cmd命令进入到bin目录下(cd cxf\bin的路径) ...

  3. Java调用webservice接口方法(SOAP message、xfire、axis)

    webservice的 发布一般都是使用WSDL(web service descriptive language)文件的样式来发布的,在WSDL文件里面,包含这个webservice暴露在外面可供使 ...

  4. wsdl 生成 java 代码 java 使用CXF将wsdl文件生成客户端代码命令java调用第三方的webservice应用实例 推荐使用, 并且设置了 utf8

    推荐使用, 并且设置了 utf8 wsdl2java -p cn.smborderservice  -encoding utf-8 -d f:\logink\src -all -autoNameRes ...

  5. 【转】java调用webservice

    互联网上面有很多的免费webService服务,我们可以调用这些免费的WebService服务,将一些其他网站的内容信息集成到我们的Web应用中显示,下面就以获取天气预报数据和查询国内手机号码归属地为 ...

  6. java 调用webservice的各种方法总结

    java 调用webservice的各种方法总结 几种流行的开源WebService框架Axis1,Axis2,Xfire,CXF,JWS比较 方法一:创建基于JAX-WS的webservice(包括 ...

  7. Java调用WebService方法总结(9,end)--Http方式调用WebService

    Http方式调用WebService,直接发送soap消息到服务端,然后自己解析服务端返回的结果,这种方式比较简单粗暴,也很好用:soap消息可以通过SoapUI来生成,也很方便.文中所使用到的软件版 ...

  8. Java调用WebService方法总结(7)--CXF调用WebService

    CXF = Celtix + XFire,继承了Celtix和XFire两大开源项目的精华,是一个开源的,全功能的,容易使用的WebService框架.文中所使用到的软件版本:Java 1.8.0_1 ...

  9. Java调用WebService方法总结(5)--Axis2调用WebService

    Axis2是新一点Axis,基于新的体系结构进行了全新编写,有更强的灵活性并可扩展到新的体系结构.文中demo所使用到的软件版本:Java 1.8.0_191.Axis2 1.7.9. 1.准备 参考 ...

随机推荐

  1. BSDL

    BSDL(边界扫描描述语言)文件是使用边界扫描进行电路板级和系统级测试与在系统编程所必需的. BSDL 文件是描述一个 IC 中的 IEEE 1149.1 或 JTAG 设计电子数据表,这些文件由 I ...

  2. oracle存储过程删除树状结构的表数据

    今天在删除一个车辆品牌表的时候,遇到了一个问题,是在java的代码中做逻辑删除还是直接在Oracle中一次删除完成呢 思来想去觉得还是在sql里直接删除比较合适, 为什么呢? 第一,涉及数据库的读写操 ...

  3. python分布式爬虫打造搜索引擎--------scrapy实现

    最近在网上学习一门关于scrapy爬虫的课程,觉得还不错,以下是目录还在更新中,我觉得有必要好好的做下笔记,研究研究. 第1章 课程介绍 1-1 python分布式爬虫打造搜索引擎简介 07:23 第 ...

  4. Android 操作Sqlite

    首先要用一个类来继承SQLiteOpenHelper,并必须实现 public DatabaseHelper(Context context, String name, CursorFactory f ...

  5. 什么是memcached?

    缓存是一种常驻与内存的内存数据库,内存的读取速度远远快于程序在磁盘读取数据的速度.我们在设计程序的时候常常会考虑使用缓存,将经常访问的数据放到内存上面这样可以提高访问数据的速度,同时可以降低磁盘或数据 ...

  6. SQL Server Profiler小技巧——筛选请求

    如果需要转载,请附上本文作者和原文链接:http://www.cnblogs.com/zeusro/p/4016228.html Microsoft SQL Server Profiler 是 SQL ...

  7. input 控件监听回车确认按钮。

    前端开发的同学捕捉回车按键经常会用到 if(event.keyCode == 13){ console.log("点击了回车按键");} 但是在微信上面,我们一般会用到指令 bin ...

  8. doTween———demo

    1.2d翻转牌动画 public void RotateCard(Image[] obj) { ,jiaodu2=; ].rectTransform.rotation.y == ) { jiaodu1 ...

  9. [js高手之路]Node.js实现简易的爬虫-抓取博客所有文章列表信息

    抓取目标:就是我自己的博客:http://www.cnblogs.com/ghostwu/ 需要实现的功能: 抓取博客所有的文章标题,超链接,文章摘要,发布时间 需要用到的库: node.js自带的h ...

  10. 【 js 片段 】点击空白或者页面其他地方,关闭弹框

    $(document).mouseup(function(e){ var _con = $(' 目标区域 '); // 设置目标区域 if(!_con.is(e.target) && ...