Web service是一种通用的接口方式,通过WEB实现系统间的通讯,所以掌握WEB SERVICE的接口方式,可以有效的为我们提供接口设计方法。

下面我们开始介绍.NET调用WEB SERVICE的实现方法:
1. 在R3中创建remote enable的RFC
在R/3中创建一个通过参数CARRID获取FLIGHTS数据的RFC:
定义属性为Remote-Enabled
在IMPORT中定义过滤参数
在TABLES中定义返回数据的表类型
在SOURCE CODE中,写入取数逻辑:

2. 将RFC扩展成为WEBSERVICE
Sap提供给我们根据RFC扩展为WEBSERVICE的方式,简化定义webservice的过程:
修改RFC,路径:Utlities->More Utlities->Create Web Service
定义webservice的名称:
下一屏幕,采用默认值:
下一屏幕,Profil属性选择MEDIUN
下一屏幕,选择package,我们这里选择LOCAL,然后点击“继续”,直到完成。
3. 维护webservice并获得WSDL
执行TCODE:SOAMANAGER,系统为我们打开一个WEB页面:
选择“Application and scenario Communition”下的Single Service Administration链接:
在“Search Pattern”中,输入我们的WEBSERVICE,选中查询到的结果,并点击“APPLY Selection”按钮,页面下面的内容就是WEBSERVICE的定义,可以根据需要进行修改。
选择上图中的“Open WSDL document for selected binding”链接,弹出WSDL的界面,保存地址栏中的地址:

4. 在VS2005中,调用webservice
在VS2005中,创建WEB项目:
在WEB项目中添加WEB引用:
输入刚才创建的SAP webservice的WSDL地址,点击“前往”:
按要求输入验证用户名及密码:
链接成功后,系统提示找到了WEBSERVICE,点击“添加引用”按钮,完成web引用的添加。
我们可以在类视图中查看到系统自动添加的代理类:
接下来,我们通过代理类,来调用WEBSERVICE提供的数据:
在DEFAULT.ASPX中添加GRIDVIEW:
在Page_Load方法中添加以下代码:
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Net;
public partial class _Default : System.Web.UI.Page 
{
protected void Page_Load(object sender, EventArgs e)
{
//authority
NetworkCredential credentials = new NetworkCredential("ZHAOCG", "password");
com.XXXXX.sap.bjbidev.ZFLIGHTService serv = new com.XXXXX.sap.bjbidev.ZFLIGHTService();
serv.Credentials = credentials;

com.XXXXX.sap.bjbidev.Sflight[] data;
data = new com.XXXXX.sap.bjbidev.Sflight[0];
//call function module for sflight
serv.Zflights("LH", ref data);

//define a table for keey data got
DataTable dt = new DataTable();
//define columns for table
dt.Columns.Add("Carrid");
dt.Columns.Add("Connid");
dt.Columns.Add("FLDATE");
dt.Columns.Add("Price");
dt.Columns.Add("CURRENCY");
dt.Columns.Add("PLANETYPE");
dt.Columns.Add("SEATSMAX");
dt.Columns.Add("SEATSOCC");
dt.Columns.Add("PAYMENTSUM");
dt.Columns.Add("SEATSMAX_B");

foreach (com.XXXXX.sap.bjbidev.Sflight flights in data)
{
DataRow dr = dt.NewRow();

dr[0] = flights.Carrid;
dr[1] = flights.Connid;
dr[2] = flights.Fldate;
dr[3] = flights.Price;
dr[4] = flights.Currency;
dr[5] = flights.Planetype;
dr[6] = flights.Seatsmax;
dr[7] = flights.Seatsocc;
dr[8] = flights.Paymentsum;
dr[9] = flights.SeatsmaxB;

dt.Rows.Add(dr);

}

GridView1.DataSource = dt.DefaultView;
GridView1.DataBind();

}
}

SAP 建立WebService相关推荐

  1. 用c#建立webservice

    网上找了很多.成功了,分享给大家我的经历.(我没有遇到那么多的问题) 我用的是vs2010 专业版的. 电脑要启动功能,否则会出错. 耐心找找. 接下来用vs. 首先建立一个web项目,这里没有选择空 ...

  2. 使用 RemObjects SDK 建立 WebService 应用

    1. 准备工作 首先下载 RemObjects SDK,我用的是 4.0.19 版,可以安装在 Delphi2007 中.用其他版本 delphi 的也可以下载 4.0.19,用起来效果一样的.需要注 ...

  3. SAP 中 Webservice的发布和调用过程。

    20180620 新建程序测试Webservice 服务.REPORT YTEST_WEBSERVICE_N .DATA LS_CONSUMER TYPE REF TO ZCL_CO_ZWS_ZPPT ...

  4. 文沥与SAP建立战略合作,发布新一代渠道管理云服务

    日前,上海文沥信息技术有限公司(以下简称"文沥")已同思爱普(中国)有限公司(以下简称 "SAP")正式达成合作协议,成为SAP分析云(SAP Analytic ...

  5. SAP创建webservice

    目录 一.创建webservice 二.更改webservice 三.SoapUI测试webservice 四.查看webservice日志及排错 一.创建webservice 以用户相关的函数Use ...

  6. Eclipse建立webservice客户端

    1.为Eclipse安装XFire插件 从Help->Install New SoftWare进入,地址输入http://xfire.codehaus.org/Eclipse+Plugin 2. ...

  7. SAP调用Webservice Consumer/Proxy Consumer示例

    1. 前言 创建Webservice Consumer/Proxy Consumer时,已经自动生成了对应的代理类和方法 2. 调用 代码 DATA: l_port_name TYPE prx_log ...

  8. MyEclipse6.0 安装axis2插件, 调用加密的SAP webservice

    MyEclipse6.0 安装axis2插件, 调用加密的SAP webservice 6人收藏此文章, 我要收藏 发表于1个月前(2013-06-06 09:41) , 已有116次阅读 ,共0个评 ...

  9. JAVA调用SAP接口地址_Java以webservice方式调用SAP接口传输数据

    Java以webservice方式调用SAP接口传输数据,在SAP中生成 会计凭证/冲销会计凭证 1.生成会计凭证(已完成) 2.冲销会计凭证(以下教程截图以该接口为例) Java调用sap的webs ...

最新文章

  1. 2013.11.13
  2. Java传xml时字符串乱码_php调用java传递xml字符串乱码怎么办
  3. RPC 中 参数传递 ImputStream 流会关闭
  4. 英语笔记:作文:What elective to choose
  5. PHP 文件夹操作「复制、删除、查看大小」递归实现
  6. 组图:2007最震撼人心的“史上最牛”事件
  7. linux安装lua相关编译报错
  8. ERROR 1044 (42000)
  9. 内网安全-隧道穿透漫游
  10. 关于linux驱动管理笔记
  11. linux tar命令 打包压缩
  12. aes sm1 对比_SM1,SM2,SM3,SM4刨析
  13. python表白代码,照片隐藏表白话语
  14. 【马修笔记】大波段顶底反转的节奏交易.
  15. 在PHP中全面阻止SQL注入式攻击之三
  16. paramiko-简介
  17. Kafka动态认证SASL/SCRAM配置+整合springboot配置
  18. SQL Compare数据库如何解决部署时出现的错误
  19. 北航与西安交大计算机专业对比,都在关注!哈工大、西安交大、北航等五大双一流高校是否值得报考...
  20. ‘gbk‘ codec can‘t encode character ‘\U0001f64f‘ in position 10085:错误解决

热门文章

  1. 曲奇问答CEO:从产品经理的角度玩转社区类产品
  2. gitattributes手册
  3. Effective C++: noexcept
  4. Android 之 LogDog
  5. tcpdump抓取HTTP包
  6. 解決memcache 有時無法連接的問題
  7. 9道最佳解酒方法[转]
  8. 直播电商加速合规,引爆消费潜力
  9. proxychains是怎么工作的
  10. python练习笔记——面试题 F(n) = F(n-1)+F(n-2)