首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >部分使用WSE2

部分使用WSE2
EN

Stack Overflow用户
提问于 2011-06-23 22:29:52
回答 1查看 246关注 0票数 0

我正在编写一个.Net web服务,它将替换旧的web服务。为了不破坏现有的客户端,我不能改变接口。这意味着没有WSE可以访问此web服务。

“旧的”web服务直接访问数据库。

“新”不直接访问数据库,它使用另一个web服务来访问数据库。另一个web服务已经被其他一些应用程序使用。

因此,基本上,我是在编写一个(公共) web服务,而不是另一个(私有) web服务。

让我们调用新的公共web服务"Front",以及现有的私有web服务"Back“。

问题是"Back“需要WSE2身份验证,而"Front”需要在没有WSE2的情况下才能访问。

如何在web.config中配置它?我有像这样的microsoft.web.services2部分和soapExtensionTypes部分:

代码语言:javascript
复制
<microsoft.web.services2>
  <diagnostics>
     <trace enabled="true" input="InputTrace.log" output="OutputTrace.log" />
  </diagnostics>
  <policy>
     <cache name="policyCache.config" />
  </policy>

代码语言:javascript
复制
  <webServices>
     <soapExtensionTypes>
        <add type="Microsoft.Web.Services2.WebServicesExtension, Microsoft.Web.Services2, Version=2.0.0.0,  [.....] />
     </soapExtensionTypes>
  </webServices>

我需要那些符合“后退”,但然后客户端调用“前”也需要符合WSE2,这是我不想要的。

有什么帮助吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-06-23 23:26:44

最后我自己找到了答案,它在策略文件中。我必须为不同的策略定义不同的端点。大概是这样的:

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
<policyDocument xmlns="http://schemas.microsoft.com/wse/2003/06/Policy">
  <mappings xmlns:wse="http://schemas.microsoft.com/wse/2003/06/Policy">
     <!-- calls to this web services will use wse -->
     <endpoint uri="http://the.service.that.needs.wse2.asmx">
        <defaultOperation>
           <request policy="#Sign-Username" />
           <response policy="" />
           <fault policy="" />
        </defaultOperation>        
     </endpoint>
    <!-- no policies for other endpoints -->
    <defaultEndpoint>
      <defaultOperation>
      </defaultOperation>
    </defaultEndpoint>
  </mappings>
  <policies [...]>
    [...]
  </policies>
</policyDocument>

现在我想了解如何动态配置端点uri,但这可能是另一个问题。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6455750

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档