原生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. 用python写一个爬虫——爬取性感小姐姐

    忍着鼻血写代码 今天写一个简单的网上爬虫,爬取一个叫妹子图的网站里面所有妹子的图片. 然后试着先爬取了三页,大概有七百多张图片吧!各个诱人的很,有兴趣的同学可以一起来爬一下,大佬级程序员勿喷,简单爬虫 ...

  2. Nodejs学习笔记(八)—Node.js + Express 实现上传文件功能(felixge/node-formidable)

    前言 前面讲了一个构建网站的示例,这次在此基础上再说说web的常规功能----文件上传,示例以一个上传图片的功能为例子 上传功能命名用formidable实现,示例很简单! PS:最近比较忙,距上一次 ...

  3. Hadoop+Hive 操作mongodb数据

    Hadoop+Hive 操作mongodb数据 1.版本概述 hadoop-2.7.3.hive-2.2 下载响应的jar包:http://mvnrepository.com/,直接搜索想要的jar包 ...

  4. JavaScript窗口打开与关闭及如何使用opener使子窗口对父窗口进行操作

    一.打开与关闭窗口 1.打开窗口:可以使用window对象中的Open()方法. newWindow = window.open(url,windowname,location); 参数说明: url ...

  5. mysql replace语句

    语法 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 REPLACE [LOW_PRIORITY | DELAYED]     [INTO] tbl_name     [ ...

  6. Xshell 6 免费版本安装过程

    下载 官网下载:https://www.netsarang.com/ 点击download 注册 填写下方红色方框标注的注册信息,注册类型填写“home or school use”,名字,邮箱.最后 ...

  7. 常用js-API

    jquery.base64.js //下面是64个基本的编码 var base64EncodeChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklm ...

  8. 添加List集合覆盖问题

    今天在做一个项目的时候,发现了这样一个问题,为了让大家看得更直接明了,我直接放代码: public void InsertObjectToList(){ List<NewsProtetype&g ...

  9. 四:Jquery-animate

    动画效果: 1.显示/隐藏动画效果 动态的改变当前元素的宽,高和不透明度 show([duration],[fn]); //显示当前元素 hide([duration],[fn]); //隐藏当前元素 ...

  10. 使用引用类型变量来访问所引用对象的属性和方法时,Java 虚拟机绑定规则

    通过引用类型变量来访问所引用对象的属性和方法时,Java 虚拟机将采用以下绑定规则: 实例方法与引用变量实际引用的对象的方法进行绑定,这种绑定属于动态绑定,因为是在运行时由 Java 虚拟机动态决定的 ...