绑定文件中的BizTalk SOAP端口密码

时间:2008-11-28 14:32:35

标签: biztalk

我继承了一个BizTalk 2006应用程序,该应用程序使用多个SOAP端口从第三方Web服务请求数据。 Web服务由“基本”身份验证 - 用户名/密码保护。在对应用程序进行一些增强后,我将其部署到可以访问第三方Web服务的集成测试服务器。 BizTalk应用程序无法检索数据,我很快意识到我忘记在SOAP发送端口上设置用户名/密码。我希望BizTalk应用程序的make部署尽可能自动化,因为当它部署到实时服务器时可能不存在。我打开了绑定文件,找到问题SOAP发送端口的第一个,并查找BizTalk用来替换密码的 * - 除了它没有!似乎SOAP端口的密码设置为NULL而不是* ,有关详细信息,请参阅此处: http://msdn.microsoft.com/en-us/library/aa547319.aspx

我继续更新绑定但是当我来测试时,导入修改后的绑定文件后,我发现我遇到了和以前一样的问题。我已经双重检查并确认绑定文件中现在存在正确的密码,但是,虽然BizTalk在导入期间没有抱怨,但是当我运行应用程序时,我得到以下异常:

详细信息:“ArgumentNullException:字符串引用未设置为String的实例。 参数名称:s  ”

如果我然后通过BizTalk管理控制台手动修改密码一切正常。

有没有其他人对SOAP端口的绑定有类似的问题 - 有没有人有解决方案?

2 个答案:

答案 0 :(得分:4)

我过去一直都是这样的。密码以'****'形式输入。还行吧。我不希望我的所有秘密都与绑定文件一起导出。当您导出绑定并将密码保留为NULL时,您会得到什么。密码的XML元素上的Variable Type(vt)属性设置为vt =“1”,它与NULL相同。你输入密码并不重要。它甚至可能导致您描述的错误。我建议你包括一份绑定XML的副本供审查。

答案 1 :(得分: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>