2008-11-28 26 views
0

我已經繼承了使用多個SOAP端口從第三方Web服務請求數據的BizTalk 2006應用程序。 Web服務通過「基本」身份驗證 - 用戶名/密碼進行保護。在對應用程序進行了一些增強後,我部署到了可訪問第三方Web服務的集成測試服務器。 BizTalk應用程序無法檢索數據,我很快意識到我忘記了在SOAP發送端口上設置用戶名/密碼。我希望儘可能使自動化的BizTalk應用程序部署爲自動化,因爲在將它部署到實時服務器時可能不存在。我打開了綁定文件,找到問題SOAP發送端口的第一個,並尋找BizTalk用來替換密碼的*,但它不是!看來,對SOAP端口的密碼設置爲NULL,而不是*,在這裏看到更多的細節: http://msdn.microsoft.com/en-us/library/aa547319.aspx綁定文件中的BizTalk SOAP端口密碼

我繼續更新綁定,但是當我來到測試,導入我的修改綁定文件後,我發現我有和以前一樣的問題。我已經加倍檢查並可以確認綁定文件中現在存在正確的密碼,但是,儘管BizTalk在導入期間沒有發生抱怨,但在運行應用程序時,我收到以下異常:

詳細信息: ArgumentNullException:未將字符串引用設置爲字符串的實例。 參數名稱:s 「。

如果我然後通過BizTalk管理控制檯手動修改密碼一切工作正常。

有沒有其他人有與SOAP端口綁定類似的問題 - 有沒有人有解決方案?

回答

3

過去我一直都這樣。密碼要麼以'****'的形式輸入。還行吧。我不希望我的所有祕密都與綁定文件一起輸出。當你導出綁定並將密碼保留爲NULL時,你得到的是什麼。 XML元素上密碼的變量類型(vt)屬性被設置爲vt =「1」,它與NULL相同。密碼輸入的內容無關緊要。它甚至可能會導致你所描述的錯誤。我建議你包含綁定XML的副本以供審閱。

+0

非常好,謝謝克里斯。我改變屬性爲vt =「8」(顯然8 = BSTR),它的工作:) – 2008-12-01 21:43:31

0

我從來沒有見過這個問題 - 我正在做你正在做的事情,它完美的作品。

我已經包含了<TransportTypeData>元素來自我的一個BizTalk綁定。希望有東西可以與幫助進行比較。

<TransportTypeData> 
&lt;CustomProps&gt; 
&lt;AuthenticationScheme vt="8"&gt;Basic&lt;/AuthenticationScheme&gt; 
&lt;AssemblyName vt="8"&gt;WebService.ProxyClass, Version=1.0.0.0, 
Culture=neutral, PublicKeyToken=xyz&lt;/AssemblyName&gt; 
&lt;Username vt="8"&gt;soapUser&lt;/Username&gt; 
&lt;UseProxy vt="11"&gt;0&lt;/UseProxy&gt; 
&lt;UseSoap12 vt="11"&gt;0&lt;/UseSoap12&gt;&lt;UsingOrchestration vt="11"&gt;0&lt;/UsingOrchestration&gt; 
&lt;UseSSO vt="11"&gt;0&lt;/UseSSO&gt; 
&lt;Password vt="8"&gt;MYPASSWORD&lt;/Password&gt; 
&lt;ProxyPort vt="3"&gt;80&lt;/ProxyPort&gt;&lt;AssemblyPath 
vt="8"&gt;C:\ProxyClass\bin\Debug\ProxyClass.dll&lt;/AssemblyPath&gt; 
&lt;TypeName vt="8"&gt;ProxyClass.Webservice.servicesService&lt;/TypeName&gt; 
&lt;MethodName vt="8"&gt;PickupRequest&lt;/MethodName&gt; 
&lt;UseHandlerSetting vt="11"&gt;-1&lt;/UseHandlerSetting&gt; 
&lt;/CustomProps&gt; 
</TransportTypeData> 
+0

感謝您的幫助幫助David。事實上 - 你的綁定是微妙的不同,你有vt =「8」屬性。所以很容易錯過 - 當然要記住未來。 – 2008-12-01 21:42:12