BizTalk:导出应用程序的绑定时,正在从自定义适配器的发送端口清除密码



使用为BizTalk Server 2010制作的适配器导出包含发送端口的应用程序时,在清除密码时遇到问题。

发送端口使用我基于Microsoft.Samples.BizTalk.adapter.Common BaseAdapter(1.0.2版)制作的适配器。

TransmitLocation.xsd和TransmitHandler.xsd模式都使用AdapterFramework密码特定字段,并且都被定义为:

<xs:element minOccurs="1" default="" name="passwordField">
<xs:simpleType>
<xs:annotation>
<xs:appinfo>
<baf:designer xmlns:baf="BiztalkAdapterFramework.xsd">
<baf:category _locID="mailAuthIndstillingerKategori">Password related category</baf:category>
<baf:displayname _locID="passwordName">Password:</baf:displayname>
<baf:description _locID="passwordDescription">Password description.</baf:description>
<baf:editor assembly="%BTSROOT%\Developer Tools\Microsoft.BizTalk.Adapter.Framework.dll">Microsoft.BizTalk.Adapter.Framework.ComponentModel.PasswordUITypeEditor</baf:editor>
<baf:converter assembly="%BTSROOT%\Developer Tools\Microsoft.BizTalk.Adapter.Framework.dll">Microsoft.BizTalk.Adapter.Framework.ComponentModel.PasswordTypeConverter</baf:converter>
</baf:designer>
</xs:appinfo>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:maxLength value="50" />
</xs:restriction>
</xs:simpleType>
</xs:element>

一些谷歌点击提到,在应该清除的元素上设置">vt="1">"属性就可以了。我已经尝试在调用ValidateConfiguration()时设置/添加此属性。但是配置XML作为字符串返回,然后在插入<CustomProps>xml,在绑定文件中导出。

我已经尝试在注册表项中指定SendHandlerPropertyXMLSendLocationPropertiesXML'sAdapterConfig应使用以下<CustomProps>,带有vt="1">属性,希望它能清空端口的整个绑定属性(不是最佳的,但比让别人导出密码更好的解决方案):

SendHandlerPropertiesXML : <CustomProps><AdapterConfig vt="1"/></CustomProps>
SendLocationPropertiesXML : <CustomProps><AdapterConfig vt="1"/></CustomProps>

当导出具有配置的发送端口的应用程序时,特定的XML如下所示:

<TransportTypeData>&lt;CustomProps&gt;&lt;AdapterConfig vt="1"&gt;&amp;lt;Config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"&amp;gt;&amp;lt;passwordField vt="1"&amp;gt;CLEARTEXTPASSWORD;lt;/passwordField&amp;gt;&amp;lt;uri&amp;gt;SMTP://NOT-USED&amp;lt;/uri&amp;gt;&amp;lt;/Config&amp;gt;&lt;/AdapterConfig&gt;&lt;/CustomProps&gt;</TransportTypeData>

每次导出绑定时,都会调用适配器的重载方法:ValidateConfiguration(),但无法判断这是在适配器配置完成时,还是在导出绑定时。这意味着:您不能篡改返回的xml字符串中的密码,因为它在配置时也会篡改密码。

还有其他内置适配器可以做到这一点(例如:SMTP适配器),我确信这是我误解的基本内容。但任何帮助或指示都会非常有用。

我注意到CodePlex上的Blogical Sftp适配器实现了这一点,并且我已经能够复制它

您所要做的就是在密码元素上添加type="baf:Password"

你可以在这里参考他们的模式。

最新更新