转:SAP WEB Service

112 篇文章 0 订阅
97 篇文章 0 订阅

转自:http://bbs.vsharing.com/Article.aspx?aid=727349

 

SAP WEB Service

 

sap Web Services  
   Web service
就是一个应用程序,它向外界暴露出一个能够通过 Web 进行调用的 API 。也就是说,可以利用编程的方法通过 Web 来调用这个应用程序。
   Web services
是建立可互操作的分布式应用程序的新平台。 Web service 平台是一套标准,它定义了应用程序如何在 Web 上实现互操作性。你可以用任何你喜欢的语言,在任何你喜欢的平台上写 Web service ,只要我们可以通过 Web service 标准对这些服务进行查询和访问。

SAP
Web Service 分为 ABAP and Java Web Services


创建 Web Service
方法 1.T-Code:SE80 选择 Package, 然后右击在菜单中选择, Create ® Enterprise Services / Web Services  ® Web Service .
方法 2.T-CODE SE37 选择一个 function module ,显示,菜单, Utilities ® More Utilities ® Create Web Service ® From the Function Module or From the Function Group
方法 3.T-CODE BAPI  BAPI Explorer


在创建 Web service 时,首先要创建 Virtual interfaces
Virtual interfaces
Using virtual interfaces, you can define several views of an implementation and publish these separately as a Web service. When you create virtual interfaces, you can rename or hide operations and parameters. You can also define standard values for parameters and convert parameter types.
创建 Virtual interfaces
T-CODE
SE80    选择 Package 右击: Create ® Enterprise Service / Web Service ® Virtual Interface


Release Web Service
T-CODE:WSConfig
选择 web service Service Definition ,Variant
创建 release web service.
保存后列表中会出现已 release web service.

生成 WSDL
T-CODE:WSADMIN
执行( Ctrl+F8), 生成 WSDL(Web Services Description Language) Ctrl+F9)
服务管理
T-CODE:sicf 
管理 SAP 服务(包含 web service)
服务监控:
T-Code:smicm
服务监控
 
 
SAP.NET 可以实现与 SAP 系统的 IDOC FM BAPI RFC web service 方式的连接,进行交互,其中 web service 是未来 SAP 与外界进行交互技术发展的趋势,也是 ESOA 的实现之一。


开发步骤:
这个实例使用 BAPI_USER_GET_DETAIL 做为 receiver interface 和用户定义 outbound 同步 interface

创建 response message mapping

创建 interface mapping

创建 sender communication channel  类型是 SOAP adapter ,使用 outbound synchronous interface


创建 receiver communication channel

创建 receiver determination

ID 端定义 web service ,创建 WSDL outbound synchronous ,URL http://host:port/XISOAPAdapter/MessageServlet?channel=party:service:channel


.net 开发环境下加入 web 引用,可以用本地文件,或者远程 URL


编译后会生成 CS 的类文件,关于 sap.net 的应用可以查看 sap.net 安装后的 DEMO ,很好,很强大。
 
 
一、生成webservice
1、向导创建:SE37, Utilities -> More Utilities -> Create Web Service -> From the Funtion Module
2、或者: SE80, 在Package的右键菜单中选择:Create -> Enterprise Service / Web Service -> Web Service
3、详细配置:SE80
4、运行环境配置:WSCONFIG
5、Web Servie Administration for SOAP Runtime: WSADMIN, 在这里可以做webservice的测试,查看WSDL
 
二、调用webservice
1、创建RFC连接: SM50, 类型为HTTP Connection to External Serv,可以设置登录用户和口令
2、创建Logical Port: LPCONFIG, 其中HTTP Destination 选择上一步创建的RFC连接,Path Prefix选择WSDL路径中的后半部分,保存后Active
3、修改调用程序使用的Package, 增加两个Use Access, SAI_TOOLS和SAPPINT, Error Severity都选择No Response
4、生成代理对象: SE80,在Enterprise Services节点的右键菜单中选择: Create -> Proxy Object, WSDL Soruce选择URL / HTTP Destination, 输入WSDL的地址就可以了
5、写调用代码,生成一个代理对象的实例,再调用它的方法就可以了,下面是一个简单的例子:
 
REPORT z_ws_call_test.
DATA: proxy TYPE REF TO zco_z_get_org,
      org_in TYPE zzget_org,
      org_out TYPE zzget_org_response,
      error type REF TO cx_ai_system_fault.
 
org_in-orgname = 'SORG.1000'.
 
TRY.
    CREATE OBJECT proxy
* EXPORTING
*     LOGICAL_PORT_NAME =
        .
*TRY.
    CALL METHOD proxy->zget_org
      EXPORTING
        input = org_in
      IMPORTING
        output = org_out.
* CATCH CX_AI_SYSTEM_FAULT .
* CATCH CX_AI_APPLICATION_FAULT .
*ENDTRY.
 
CATCH cx_ai_system_fault INTO error.
    WRITE /1 error->ERRORTEXT.
ENDTRY.
 
WRITE: AT /1 org_in-orgname,
          /1 org_out-orgcode.
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值