如果运行
soamanager
打不开,网页显示
devaix
.zhongpin.com
,打开
C
:\WINDOWS\system32\drivers\etc,
用记事本打开
hosts
文件
,
在最后一行加上:
192
.168.2.24 devaix.zhongpin.
com
本次学习如何用 SAP 创建 web service , 以及如何利用 ABAP 调用 Web Service .
步骤:
1. 创建一个 RFC 函数 Z_ADD ;
2. 根据这个函数创建 Web Service , 菜单 ’Utilities’ ->’More Utilities’->’Create Web Service’->’From the Funciton Module’; 输入 Service Definition: ZWS_001 和描述;
一直点 Continue , 直到完成,系统显示对象已激活;
创建 Web Service 的另一种方法是: SE80 -> 右击函数组名称 ->create-> web service;
注意:这两种方法大致相同,在完成时,选中 ’Deploy Service’ 。
3. 激活该 Funciton;
4. find URL.SOAMANAGER,application and scenario communication->single service administration, 在打开的网页中搜索 service : Z_WS_001->apply->Open WSDL document for selected binding-> 复制 wsdl 文件的地址作为 URL;
5. SE80, 根据上面得到的 URL 创建 consumer , 得到 proxy name :ZPRECO_Z_WS_001 , ’ZPRE’ 是前缀。
6. CREATE LOGIC PORT. SOAMANAGER ,创建逻辑端口,在打开的网页中搜索 consumer proxy : ZPRECO_Z_WS_001,( 最好是双向搜索 )->apply->configurations->create logic port.
之后即可测试成功。
测试代码如下:
report.
*-->这个proxy class是在前面定义好的
data proxy type ref to zpreco_z_ws_001.
*-->这两个数据类型可以在proxy class中的方法中找到(双击ZPRECO_Z_WS_001,进入这个类的定义).
data: ls_input type zprezadd,
ls_output type zprezadd_response.
start -of-selection.
*-->根据logical port创建对象
try.
create object proxy
exporting
logical_port_name = 'LP01'.
catch cx_ai_system_fault .
endtry.
*-->调用web service的方法
ls_input -idata1 = 2.
ls_input -idata2 = 4.
try.
call method proxy-> zadd
exporting
input = ls_input
importing
output = ls_output.
catch cx_ai_system_fault .
catch cx_ai_application_fault .
endtry.
write: ls_output-eresult.
此时运行该程序总会出现登陆框,安全设定的原因。
可以在逻辑端口中配置自己的账号和密码,步骤: SOAMANAGER ,在打开的网页中搜索 consumer proxy : ZPRECO_Z_WS_001 ,选择逻辑端口 ->edit->consumer security, 输入自己的账号和密码即可。
本次学习如何用 SAP 创建 web service , 以及如何利用 ABAP 调用 Web Service .
步骤:
1. 创建一个 RFC 函数 Z_ADD ;
2. 根据这个函数创建 Web Service , 菜单 ’Utilities’ ->’More Utilities’->’Create Web Service’->’From the Funciton Module’; 输入 Service Definition: ZWS_001 和描述;
一直点 Continue , 直到完成,系统显示对象已激活;
创建 Web Service 的另一种方法是: SE80 -> 右击函数组名称 ->create-> web service;
注意:这两种方法大致相同,在完成时,选中 ’Deploy Service’ 。
3. 激活该 Funciton;
4. find URL.SOAMANAGER,application and scenario communication->single service administration, 在打开的网页中搜索 service : Z_WS_001->apply->Open WSDL document for selected binding-> 复制 wsdl 文件的地址作为 URL;
5. SE80, 根据上面得到的 URL 创建 consumer , 得到 proxy name :ZPRECO_Z_WS_001 , ’ZPRE’ 是前缀。
6. CREATE LOGIC PORT. SOAMANAGER ,创建逻辑端口,在打开的网页中搜索 consumer proxy : ZPRECO_Z_WS_001,( 最好是双向搜索 )->apply->configurations->create logic port.
之后即可测试成功。
测试代码如下:
report.
*-->这个proxy class是在前面定义好的
data proxy type ref to zpreco_z_ws_001.
*-->这两个数据类型可以在proxy class中的方法中找到(双击ZPRECO_Z_WS_001,进入这个类的定义).
data: ls_input type zprezadd,
ls_output type zprezadd_response.
start -of-selection.
*-->根据logical port创建对象
try.
create object proxy
exporting
logical_port_name = 'LP01'.
catch cx_ai_system_fault .
endtry.
*-->调用web service的方法
ls_input -idata1 = 2.
ls_input -idata2 = 4.
try.
call method proxy-> zadd
exporting
input = ls_input
importing
output = ls_output.
catch cx_ai_system_fault .
catch cx_ai_application_fault .
endtry.
write: ls_output-eresult.
此时运行该程序总会出现登陆框,安全设定的原因。
可以在逻辑端口中配置自己的账号和密码,步骤: SOAMANAGER ,在打开的网页中搜索 consumer proxy : ZPRECO_Z_WS_001 ,选择逻辑端口 ->edit->consumer security, 输入自己的账号和密码即可。