WSE 客户端项目不断将 WebServicesClientProtocol 恢复为 SoapHttpClientProtocol [英] WSE client project keeps reverting WebServicesClientProtocol to SoapHttpClientProtocol

查看:16
本文介绍了WSE 客户端项目不断将 WebServicesClientProtocol 恢复为 SoapHttpClientProtocol的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

尽管在 Visual Studio 2005 中的客户端项目上启用了 WSE 3.0,但我所做的 Web 引用总是以从 SoapHttpClientProtocol 派生的服务代理结束.我必须手动将继承更改为 WebServicesClientProtocol,但更新它将恢复为 SoapHttpClientProtocol.我不确定在 Visual Studio 项目属性中的哪个位置可以让它永久使用 WebServicesClientProtocol?

<小时>

据我所知,Visual Studio 应该生成常规的基于 SoapHttpClientProtocol 的服务代理,以及另一个带有源自 Web ServicesClientProtocol 的Wse"名称后缀的服务代理.甚至视觉Studio .NET 2003 已经具有此功能.所以出于某种原因,我的 Visual Studio 2005 没有与 WSE 3.0 紧密合作来生成额外的 WebServicesClientProtocol 代理.但缺失的环节在哪里?

<小时>

09 年 1 月 13 日更新

我用另一台机器来测试这个,看到这个 Visual Studio 2005可以生成基于 WebServicesClientProtocol 的代理.这意味着我原来的工作站的 Visual Studio 已经搞砸了;不太确定如何修复这个.

补充:嗯,重新安装 WSE 3.0 也没有帮助.也许 WSE 无法在 x64 Windows Vista 上运行...?

解决方案

看起来像个 64-bit 操作系统当然有它的缺点.

WSE 3.0 安装程序无法使用以下条目更改 Visual Studio 2005 的配置文件 C:Program Files (x86)Microsoft Visual Studio 8Common7IDEdevenv.exe.config.

<预><代码><配置><system.web><网络服务><soapExtensionImporterTypes><add type="Microsoft.Web.Services3.Description.WseExtensionImporter,Microsoft.Web.Services3,版本=3.0.0.0,文化=中性,PublicKeyToken=31bf3856ad364e35"/></soapExtensionImporterTypes></webServices></system.web></配置>

Despite enabling WSE 3.0 on client projects in Visual Studio 2005, web references I make always end up with service proxies derived from SoapHttpClientProtocol. I have to manually change the inheritance to WebServicesClientProtocol, but updating it will revert back to SoapHttpClientProtocol. I am unsure where in Visual Studio project properties can I get it to permanently use WebServicesClientProtocol?


As far as I have read, Visual Studio is supposed to generate the regular SoapHttpClientProtocol-based service proxy, plus another service proxy suffixed with the "Wse" name that derives from Web ServicesClientProtocol. Even Visual Studio .NET 2003 already had this feature. So for some reason my Visual Studio 2005 is not tightly cooperating with WSE 3.0 to generate the additional WebServicesClientProtocol proxy. But where is the missing link?


Update 13 Jan 09

I got another machine to test this, and behold this Visual Studio 2005 can generate proxies based on WebServicesClientProtocol. That means my original workstation's Visual Studio has been messed up; not too sure how one can repair this though.

Add: Mmmm, reinstalling WSE 3.0 did not help either. Maybe WSE just does not work on a x64 Windows Vista... ?

解决方案

Looks like being a 64-bit operating system certainly has its demerits.

The WSE 3.0 installer fails to alter Visual Studio 2005's config file C:Program Files (x86)Microsoft Visual Studio 8Common7IDEdevenv.exe.config with the following entry.

<configuration>
  <system.web>
    <webServices>
      <soapExtensionImporterTypes>
        <add type="Microsoft.Web.Services3.Description.WseExtensionImporter,
           Microsoft.Web.Services3, Version=3.0.0.0, Culture=neutral,
           PublicKeyToken=31bf3856ad364e35" />
      </soapExtensionImporterTypes>
    </webServices>
  </system.web>
</configuration>

这篇关于WSE 客户端项目不断将 WebServicesClientProtocol 恢复为 SoapHttpClientProtocol的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆