PRPC Web Service (SOAP Service DotNet Service)----HowardChen

1. PRPC Web Service (SOAP Service DotNet Service)

 

1.1 为何使用 PRPC Web Service

PRPC提供方便简捷的SOAP集成接口,可以方便的让您的程序访问外部的SOAP服务,或者让自己的PRPC应用对外提供SOAP服务。

1.2 简介

相关概念:

Service Package: 该组件对外提供Service Method,所有在PRPC内部创建的SOAP服务都需要通过Service Package这个Rule对外暴露成单一的WSDL文件。

Service Activity: Service Rule获得一个SOAP请求时,Service Activity会被自动调用,一般来说这个Activity里面会做一些数据转换和简单的计算工作,作为Service的入口调用系统中的资源,并负责包装对外的返回值。

Service Client: 访问SOAP Service时所需的客户端。比如DotNet平台访问SOAP的程序,J2EESOAP访问程序等。这些客户端将会使用PRPCService Package提供的WSDL生成相应代码,用以访问PRPCSOAP服务。

 

来自PRPC的帮助文档说明:

PRPC中的SOAP服务是指一个SOAP服务包对外提供一个或多个SOAP方法,每一个SOAP方法对应着一个SOAP服务Rule,该Rule又对应一个Activity,也即Service Activity。该Activity负责对传入以及传出的数据进行映射。当调用一个SOAP服务时,外部系统将数据封装在SOAP envelope中,并向PRPCPRSOAPServlet发送访问请求,该Servelet由系统提供,专门负责将请求路由到相应的Service Package以及Service Rule

 

1.3 SOAP Service创建步骤

1.3.1 环境以及Service Package

A. 工作Class

Work对象类

该类将被作为SOAP服务对应的Page类,在该例子中,我们将使用PROMIS-Work-GPN作为Work对象类。

 

B. service package (Data-Admin-ServicePackage)

创建一个用以容纳所有ServiceService Package,在本例中命名为”PromisServices”。在”Context”页上选择”Stateless”作为Process Mode。配置一个可以访问Service ClassAccess Group作为Service Access Group”Method”页面用于配置Service类型,”Deployement”页面则用来选择特定的Service Class以及用来生成WSDL。这两个页面将在Service Rule完全创建好之后进行配置。

 

1.3.2 SOAP service creation

A. 创建 Rule-Service-SOAP

 

https://p-blog.csdn.net/images/p_blog_csdn_net/bpman/EntryImages/20090603/image001.png

Pic1 New SOAP service

 

创建一个新的Rule-Service-SOAP Rule

”Customer Package Name”中选择Package Name。输入对应的Customer Class名字,以及方法名。Customer Class名字将在WSDL中显示为portType,而方法名则会显示为Operation名字,这两个参数将会被Service客户端使用。注意此处的Customer Class并非系统中的Class Rule,而是用户手输入的一个字段。

 

B. 配置 Service

 

https://p-blog.csdn.net/images/p_blog_csdn_net/bpman/EntryImages/20090603/image003.jpg

Pic2 Service tab

 

配置Service页面

”Page Class”字段下拉,选择一个Class作为当前ServiceService Class,该设置意味着当前Service所使用的一切资源来自于所设置的Service Class。在本例中设置Service Class为“PROMIS-Work-GPN”。

注意:如果想在Service Activity中使用某个Page,则需要在”Page&Classes”页面中给于该Page的定义。此例中使用的Page名字为”gpnPage”

 

C. 配置Request

https://p-blog.csdn.net/images/p_blog_csdn_net/bpman/EntryImages/20090603/image004.jpg

Pic3 Request tab

 

配置Request页面

Request页面中定义Request Header以及Request Parameter。所有在此处定义的字段将在自动生成的WSDL中显示为”Input Message””Name”字段将显示在WSDL中,并最终被SOAP客户端使用。此处的主要工作是映射输入字段,选择适当的Map To选项,将输入数据Map到目标位置。

 

D. 配置Response

https://p-blog.csdn.net/images/p_blog_csdn_net/bpman/EntryImages/20090603/image006.jpg

Pic4 Response tab

配置Response页面

该页面的功能与Request页面一样,被用于定义SOAP的回复消息。如果使用的是XML Page作为数据类型,那么Schema页将被用于对XML做解析。

 

1.3.3 生成WSDL以及Service客户端

A. Service Package中列出SOAP Service

https://p-blog.csdn.net/images/p_blog_csdn_net/bpman/EntryImages/20090603/image008.png

Pic5 Methods tab of service package

打开Service Package Rule,选择Methods页,选择Service Type类型为Rule-Service-SOAP,点击“Show Service Methods”。系统将列出存在于当前Package中的所有该类型的Service Rule

B. 发布Service

 

https://p-blog.csdn.net/images/p_blog_csdn_net/bpman/EntryImages/20090603/image010.jpg

Pic6 Web service deployment

 

选择“Deployment”页,选择“Deployment Type”为“WSDL”,选择Service Class,即前面配置Service Rule时用到的Class。然后点击按钮“Generate Deployment File”;系统将自动产生WSDLURL,并且部署到PRPC的服务器上。该URL将在后续开发中被SOAP消费者使用。

 

提示:如果在发布WSDL之后又对SOAP Service做了修改,当再次发布时需要清空缓存后再点击“Generate Deployment Files”以保证最新的版本发布到服务器上。

 

E. DotNet平台自动生成SOAP Service客户端

https://p-blog.csdn.net/images/p_blog_csdn_net/bpman/EntryImages/20090603/image011.jpg

Pic7 Add web reference in DotNet

开始一个空的DotNet Solution和项目,然后使用”Add web reference”工具,配置好上面产生的URL,系统将自动生成相关客户端访问代码。后续开发可以基于自动生成的底层代码访问PRPC提供的SOAP服务。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值