2012-12-03 84 views
4

當出口結合我有清除密碼,使用導出我的BizTalk服務器發出一個適配器包含發送端口的應用程序時的問題2010年的BizTalk:從發送端口清除密碼定製​​適配器應用

的發送端口使用我製作的適配器,基於Microsoft.Samples.BizTalk.Adapter.Common BaseAdapter(v.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以字符串的形式返回,然後在插入到綁定文件中導出的xml中之前轉義該XML。

我已經試過指定的SendHandlerPropertiesXMLSendLocationPropertiesXMLAdapterConfig,在註冊登記時,應使用下列< 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字符串中破壞密碼,因爲它在配置時也會破壞密碼。

還有其他內置適配器可以做到這一點(E.G .: SMTP適配器),我確信這是我誤解的一些基本內容。但任何幫助或指針都會非常有幫助。

+0

我認爲輸出綁定時從未包含密碼。 – Jay

+2

隨着所有預裝BTS的適配器都是如此。但是,當你製作自己的適配器時,你必須告訴BTS,當綁定中的特定元素(密碼)正在輸出時,它應該將其變爲空白或「明星」。 –

回答

2

我注意到CodePlex上的Blogical Sftp Adapter使這項工作,我已經能夠複製它。

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

你可以參考他們的模式here