`
shz2008bj
  • 浏览: 489602 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

XML Anonymizer Bean in Communication Channel to remove namespace prefix in XML P

 
阅读更多
转:http://www.saptechnical.com/Tutorials/XI/XMLPayload/Index.htm

There are situations where additional functions are demanded to satisfy a requirement. The requirement could be to remove namespace prefix in XML Payload. Modules equipped in the adapter come for rescue without having the developer to do much.

The modules are the basis of the adapter configuration on the Parameters tab page, located in the module processor and are displayed in the module processor once a communication channel has been created.

A little about Namespaces…

One of the primary motivations for defining an XML namespace is to avoid naming conflicts when using and re-using multiple times. XML Schema is used to create vocabulary for an XML instance, and uses namespaces.

Namespaces are like package in Java, has many reusable elements and attributes.

For eg: <ns0:ShipNotice xmlns:ns0="urn:cidx:names:specification:ces:schema:all:4:0" Version="4.0">

In the attribute xmlns:ns0, xmlns is a reserved word, used to declare a namespace. That is the above example is read as binding the prefix ‘ns0’ with the namespace ‘urn:cidx:names:specification:ces:schema:all:4:0’.

It is convention in PI to use ns0 as the prefix for the XML Schema namespace. And wherever the prefix ‘ns0’ is used in the entire message, they are used only as a placeholder and must be expanded by the namespace. This way all the elements used in the message are associated to the namespace using the prefix.

The example message is given below, where every element (Header, DocumentIdentifier etc..) are associated with the namespace ‘urn:cidx:names:specification:ces:schema:all:4:0’.

<?xml version="1.0" encoding="UTF-8"?>
<ns0:ShipNotice xmlns:ns0="urn:cidx:names:specification:ces:schema:all:4:0" Version="4.0">
<ns0:Header>
<ns0:ThisDocumentIdentifier>
<ns0:DocumentIdentifier>0000000010576079</ns0:DocumentIdentifier>
</ns0:Header>
</ns0:ShipNotice> 
However, business partner who receives this message may think that XML document is cluttered with prefix ns0 and want to avoid. Or it could be that the software used does not support this prefix and will not process the messages successfully. So now the requirement dictates the removal of prefix without removing the namespace. As explained, in PI it is possible to remove the namespace prefix using XML Anonymizer bean in module that is equipped in adapter. 
Find below the screenshot that illustrates the configuration of the communication channel. 



Procedure:
Add the Module in the Processing Sequence
1.       Insert the module before the adapter module.
Module Name : AF_Modules/XMLAnonymizerBean
Module Key: 0 
The module name ‘CallSapAdapter’ is default one that can be left as it is.
Add Parameters in the Module Configuration 
2.       Module Key: 0
Parameter Name: anonymizer.acceptNamespaces
Parameter Value: <namespace> ‘’
Enter a list of namespaces and their prefixes that are to be kept in the target XML document and to result a namespace without a prefix, enter ‘ ‘ (two single quotation marks). 
3.       Module Key: 0
Parameter Name: anonymizer.quote
Parameter Value: ‘
Here specify the character to be used to enclose the attribute values.  The default value is ‘. 
When scenario is executed, the target message contains the namespace with no prefix. 
<?xml version="1.0" encoding="UTF-8"?>
<ShipNotice xmlns="urn:cidx:names:specification:ces:schema:all:4:0" Version="4.0">
<Header>
<ThisDocumentIdentifier>
<DocumentIdentifier>0000000010576079</DocumentIdentifier>
</Header>
</ShipNotice> 
There are generic modules for adapters provided by SAP for different requirements. Navigate to http://help.sap.com/saphelp_nwpi711/helpdata/en/cd/5af7c0c994e24fb0d0088443513de2/frameset.htm for more details.
  • 大小: 81.1 KB
分享到:
评论

相关推荐

    DICOM Anonymizer-开源

    DICOM(Digital Imaging and Communications in Medicine)是一种标准格式,用于在医疗环境中存储、传输和共享医学影像数据。DICOM文件通常包含患者的个人信息,如姓名、生日、身份证号等,因此在进行研究、教学或...

    PyPI 官网下载 | ner-anonymizer-0.1.1.tar.gz

    《PyPI官网下载 | ner-anonymizer-0.1.1.tar.gz——Python库解析与应用》 在Python的世界里,PyPI(Python Package Index)是最重要的资源库,它为开发者提供了一个平台来分享和下载各种Python软件包。标题中的...

    pg-anonymizer:使用NodeJS CLI转储匿名的PostgreSQL数据库

    npx pg-anonymizer postgres://user:secret@localhost:1234/mydb -o dump.sql :index_pointing_up: 此命令需要pg_dump 。 安装PostgreSQL后可能已经安装了它。 指定要匿名的列列表 使用--list选项和以逗号分隔的...

    linkedin-anonymizer:混淆 LinkedIn.com 上的敏感会员数据

    3. **AJAX请求**:LinkedIn-anonymizer可能利用AJAX(异步JavaScript和XML)技术来动态获取和更新页面内容,这在处理动态加载的数据或实时更新的个人信息时尤其有用。 4. **正则表达式**:在模糊处理敏感信息时,...

    k-anonymizer:匿名化数据库以保护发布时的隐私

    在这个项目的实现中,文件名称列表中的"k-anonymizer-master"可能包含了实现k-匿名化算法的源代码、测试数据和相关文档。使用者可以通过阅读代码和运行测试来理解k-匿名化的过程,并且可以根据实际需求进行调整和...

    postgresql-anonymizer:用于匿名化PostgreSQL数据库的命令行工具

    PostgreSQL匿名器这个命令行工具使PostgreSQL数据库匿名化变得容易。 它使用YAML定义文件来定义应对哪些表和字段进行匿名化,并提供各种匿名化方法。 内容使用多种方法匿名化数据级别条目上的PostgreSQL表(下表) ...

    Python库 | dj_anonymizer-0.5.0-py3-none-any.whl

    资源分类:Python库 所属语言:Python 资源全名:dj_anonymizer-0.5.0-py3-none-any.whl 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059

    anonymizer-service:创建REST API以使用AWS匿名化个人可识别信息

    $ npm install anonymizer-service 概要 为了使用该模块,您必须首先创建一个AWS账户。 拥有账户后,此模块中包含的工具将允许您将匿名服务Lambda函数部署到您的AWS账户,创建一个使用JSON进行数据交换以与Lambda...

    Anonymizer:RSNA临床试验数据集导入匿名程序

    "Anonymizer: RSNA临床试验数据集导入匿名程序"是一个专为处理RSNA(Radiological Society of North America)临床试验数据集的工具,旨在保护患者隐私,确保数据在进行研究分析时的合规性。这个程序使用Java编程...

    Python库 | django_anonymizer-0.5.1-py2.py3-none-any.whl

    资源分类:Python库 所属语言:Python 资源全名:django_anonymizer-0.5.1-py2.py3-none-any.whl 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059

    anonymizer:匿名器,用于混淆面部和车牌

    know.ai匿名器为了提高隐私并使公司更容易遵守GDPR,我们在.ai决定公开采购匿名软件和权重,以在内部数据集上对面Kong和车牌进行训练的模型进行采购。 为了使每个人都可以在自己的项目中轻松使用这些权重,使用对...

    hydra 7.2 win32

    In all other cases you have to download all source libraries and compile them manually. SUPPORTED PLATFORMS ------------------- All UNIX platforms (linux, *bsd, solaris, etc.) Mac OS/X Windows ...

    sante_dicom_editor

    Thanks to its extensive feature-set, unparalleled stability and easiness of use, Sante DICOM Editor is the essential tool for Radiologists, medical imaging Professionals, and any other specialist that...

    IQDA Qualitative Data Anonymizer-开源

    **IQDA Qualitative Data Anonymizer - 开源详解** 在当今的数据驱动世界中,保护个人隐私和数据安全已经成为至关重要的议题。研究人员在分享他们的研究成果时,必须确保敏感信息不被暴露,以免侵犯参与者的隐私权...

    lina_anonymizer:基于流的文本匿名器

    lina_anonymizer 基于流的文本匿名器 整体工作流程 graph TD; AA[annotator] --&gt; |register rule-set|A A[strapi]--&gt;|get regex|B[rule-entity-extractor server]; B --&gt; |return matched result|C...

    silverstripe-anonymizer:从数据库表匿名化PII

    "silverstripe-anonymizer" 是一个针对 SilverStripe 框架的插件,其主要功能是帮助用户实现对数据库中个人身份信息(PII, Personal Identifiable Information)的匿名化处理。标题表明这个工具专注于保护数据隐私,...

    FeedAnon - News Feed Anonymizer-crx插件

    用户可以通过浏览器的扩展管理界面,将"FeedAnon_-_News_Feed_Anonymizer.crx"文件拖放到浏览器中进行安装,或者在浏览器的Web Store中搜索并安装。 安全与隐私保护: 使用FeedAnon,用户可以更安心地享受在线阅读...

    mysqldump_anonymizer:MySQL转储匿名器

    Myanon Myanon是一个MySQL转储匿名程序,它从stdin读取转储,并为stdout生成一个匿名版本。 匿名化通过基于sha-256的确定性hmac处理完成。 在用作外键的字段上使用时,将保留约束。 配置文件用于存储hmac机密并...

    OfferZen candidate anonymizer-crx插件

    语言:English (United States) 帮助您避免聘请优秀开发人员所带来的内在偏见 帮助您避免雇用优秀的开发人员所带来的内在偏见。 功能包括:-删除个人资料图片-删除候选人姓名-将所有大学合并为“某处的大学”-

Global site tag (gtag.js) - Google Analytics