【问题标题】:BizTalk SOAP port password in binding file绑定文件中的 BizTalk SOAP 端口密码
【发布时间】:2010-09-24 11:07:37
【问题描述】:

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

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

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

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

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

【问题讨论】:

    标签: biztalk


    【解决方案1】:

    我过去曾被类似的事情所困扰。密码输入为“****”。还行吧。我不希望我的所有秘密都与绑定文件一起导出。当您导出绑定并将密码保留为 NULL 时,您会得到什么。密码的 XML 元素上的变量类型 (vt) 属性设置为 vt="1",这与 NULL 相同。输入什么密码都没有关系。它甚至可能导致您描述的错误。我建议您提供一份绑定 XML 的副本以供审核。

    【讨论】:

    • 太好了,谢谢克里斯。我将属性更改为 vt="8"(显然是 8=BSTR)并且它起作用了:)
    • 太棒了!很高兴我能帮上忙。如果您不介意,请将我标记为答案。我是新人,想建立旧的代表!
    • 嗯...不确定我是否可以强制“标记为答案”,但我肯定会 +1
    • 为我工作!奇怪的事情......我用谷歌搜索了很多方法,但没有得到任何答案,为什么密码不是从绑定文件中导入的。也许一小时后我发现了这个......非常感谢您发布答案并将它们标记为答案!
    【解决方案2】:

    我以前从未见过这个问题 - 我正在做你想做的事,而且效果很好。

    我已从我的一个有效的 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>
    

    【讨论】:

    • 感谢您帮助大卫。事实上 - 你的绑定是微妙的不同,你有 vt="8" 属性。很容易错过 - 肯定是将来要记住的。
    猜你喜欢
    • 2010-09-21
    • 2021-03-02
    • 1970-01-01
    • 2012-11-20
    • 1970-01-01
    • 2016-09-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多