Siebel可以调用外部系统的接口,通过WebService的接入方式实现,所在的项目都是通过ESB,其他系统的接口都要经过ESB,由ESB提供WSDL文档,通过Siebel调用。

一、修改Tools的配置文档

因为系统存在Bug,直接导入WSDL文件会有错误,在导入WSDL文件之前需要修改当前的配置文档,在tools.cfg中添加下面的配置:

系统默认的WSDL路径在Tools中的TEMP路径下,如果不填加上面的配置,也可将WSDL文件放到TEMP中,这样导入也不会报错。

二、实现导入

1).创建WebService

2).点击确定,进入下一步

选择项目名称,导入WSDL文件,会在同路径下生成一个同名的XML和LOG文件,这个XML文件很重要,在设置出站WEB服务的时候会用到。

3).点击下一步,直到完成,会自动生成一个BS和两个IO,红框的部分是BS和IO的名称,可以修改成有业务意义的名字。

4).修改IO和BS

一般是将WSDL文件导入SoapUI查看输入参数和返回参数的XML格式,配置两个IO时要完全按照XML的格式进行配置,稍有不同就会出现很难解决的错误,导致调不通接口。

在BS中要注意的地方是BS的UP,在IO中要注意的地方是IC的UP。

三、设置出站信息

1).找到导入WSDL文件时生成的XML。

2).用管理员账号登陆系统,在管理-Web服务中找到出站Web服务。

3).在出站Web服务中,点击导入按钮,导入XML文件,会在该界面生成出站Web服务。

四、调用生成的BS

用WSDL生成的BS在调用的时候需要自己构建参数调用,主要是构建输入参数,构建的方式一般是按照XML的结构从里往外一层层构造,对照输入IO构造。 构造时用到的方法和结构:

var para = TheApplication().NewPropertySet();

para.SetType();

var paralist = TheApplication().NewPropertySet();

paralist.SetType();

paralist.AddChild(para);

按照这样的结构一层一层构造,构建出BS的输入参数。

调用BS:

var bsSev = TheApplication().GetService("BS Name");//BS的名称

bsSev.InvokeMethod("Method", psIn, psOut);//BS中的方法名字,此时就得到了BS的输出参数

得到输出参数:

与构建输入参数的方法相反,获得输出参数的方法是按照输出XML的结构从外到内一层层获取,用到的方法主要是:

var paraOut = psOut.GetChild(0);

这样一层一层下去,直到获取到最后的输出参数。

通过var sValue =paraOut.GetProperty(" 参数名");获取到值。

Siebel调用WebService的更多相关文章

  1. 一个简单的webservice的demo(下)winform异步调用webservice

    绕了一大圈,又开始接触winform的项目来了,虽然很小吧.写一个winform的异步调用webservice的demo,还是简单的. 一个简单的Webservice的demo,简单模拟服务 一个简单 ...

  2. 调用webservice进行身份验证

    因为同事说在调用webservice的时候会弹出身份验证的窗口,直接调用会返回401,原因是站点部署的时候设置了身份验证(账号名称自己配置).因而在调用的时候需要加入身份验证的凭证. 至于如何获取身份 ...

  3. java接口调用——webservice就是一个RPC而已

    很多新手一听到接口就蒙逼,不知道接口是什么!其实接口就是RPC,通过远程访问别的程序提供的方法,然后获得该方法执行的接口,而不需要在本地执行该方法.就是本地方法调用的升级版而已,我明天会上一篇如何通过 ...

  4. Android调用WebService

    这两天给老师做地铁app的demo,与后台的交互要用WebService,还挺麻烦的.所以想写点,希望有用. Web Services(Web服务)是一个用于支持网络间不同机器互操作的软件系统,它是一 ...

  5. C# 调用webservice 几种办法(转载)

    原文地址: http://www.cnblogs.com/eagle1986/archive/2012/09/03/2669699.html //=========================== ...

  6. 【Java EE 学习 80 下】【调用WebService服务的四种方式】【WebService中的注解】

    不考虑第三方框架,如果只使用JDK提供的API,那么可以使用三种方式调用WebService服务:另外还可以使用Ajax调用WebService服务. 预备工作:开启WebService服务,使用jd ...

  7. C#winForm调用WebService的远程接口

    Web Service 的创建简单编码.发布和部署 上一篇详细概述了WebService的创建,编码,发布和部署,那么作为客户端的程序如何访问远程端的WebService 接下来看一下具体步骤:   ...

  8. 【学习篇:他山之石,把玉攻】jquery实现调用webservice

    1.webservice端 using System; using System.Collections.Generic; using System.Web; using System.Web.Ser ...

  9. C#调用WebService

    1.1.Web Service基本概念 Web Service也叫XML Web Service WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求, ...

随机推荐

  1. Centos7 误删除bin/sbin之类的恢复

    参考连接:https://blog.csdn.net/weixin_41843733/article/details/107468767 挂载对应版本的光盘进入急救模式,复制已经丢失的命令到/mnt/ ...

  2. Mysql教程:(三)运算符:数学运算符

    运算符:数学运算符 mysql> select class,number,maths,maths+5 from score; mysql>select class,number,chine ...

  3. git stash 存储命令

    应用场景 一.当你接到一个修复紧急 bug 的任务时候,一般都是先创建一个新的 bug 分支来修复它,然后合并,最后删除.但是,如果当前你正在开发功能中,短时间还无法完成,无法直接提交到仓库,这时候可 ...

  4. postman调试工具介绍及常用的快捷键收集

    关于Postman postman基础功能介绍 使用postman进行接口自动化测试 快捷键大全 简单操作 请求 工具栏 接口 窗口 数据编辑 关于Postman Postman是一款功能强大的网页调 ...

  5. NOIP模拟99(多校31)

    T1 法阵 解题思路 原题3100,张口放 T1(出题人原话) 思维题,合法的情况其实就是上下两个梯形拼起来的样子. 他们的边界都是在 \(i\) 轴上面,但是不能相交. 于是我们可以尝试两者相交的纵 ...

  6. [atARC068F]Solitaire

    对于最终的序列$a_{i}$,条件如下: 1.$a_{i}$是一个排列,且$a_{k}=1$ 2.不存在三元组$1\le x<y<z<k$,使得$a_{x}<a_{y}< ...

  7. [atAGC047F]Rooks

    如果将$x$和$y$都离散,那么删除的点的$x_{i}$和$y_{i}$必然都组成了一个完整的区间(包括过程中) 将所有点按$x$排序,再令$f[i][j][0/1]$表示当删除完区间$[i,j]$且 ...

  8. [cf997E]Good Subsegments

    一个区间为好区间当且仅当$\max_{l\le i\le r}a_{i}-\min_{l\le i\le r}a_{i}=r-l$,考虑固定右端点$r$,维护所有左端点$l$的上述式子左-右的值,那么 ...

  9. WebRTC从摄像头获取图片传入canvas

    WebRTC从摄像头获取图片传入canvas 前面我们已经能够利用WebRTC的功能,通过浏览器打开摄像头,并把预览的图像显示在video元素中. 接下来我们尝试从视频中截取某一帧,显示在界面上. h ...

  10. html+css第四篇

    浮动 float浮动: 1.块在一排显示 2.内联支持宽高 3.默认内容撑开宽度 4.脱离文档流 5.提升层级半层 float:left | right | none | inherit; 文档流是文 ...