【问题标题】:Hiding wsdl's xml information in web browser on WCF?在 WCF 的 Web 浏览器中隐藏 wsdl 的 xml 信息?
【发布时间】:2017-11-13 12:32:09
【问题描述】:

有没有办法让客户端使用 wsdl,但是只隐藏它的 xml,它在 web 浏览器中打开时显示方法。

例如,以下对 asmx 非常有效:

  <system.web>
    <webServices>
      <wsdlHelpGenerator href="Blank.aspx"/>
    </webServices>
  </system.web>

对于 svc,上述方法有什么替代方案吗?

删除 serviceMetadata 或将 httpGetEnabled 更改为 false 会使 wsdl 无法使用,这不是我想要的。我只是想让它的内容在网络浏览器中打开时不可见。

【问题讨论】:

  • 我认为您可以使用rewrite 并将用户重定向到另一个地址。

标签: xml wcf service wsdl asmx


【解决方案1】:

这是正确的方向,但是特定的正则表达式和操作并没有完全按照我的意愿工作

1) http://{domain}/{service}.svc -> https://{domain}/blank.aspx(好)

2) http://{domain}/{service}.svc?wsdl ->(当我按 F12 时显示错误,因为它无法找到 blank.html 页面)

3) http://{domain}/{service}.svc?singleWsdl ->(不变)

4) https://{domain}/{service}.svc ->(不变)

5) https://{domain}/{service}.svc?wsdl ->(不变)

6) https://{domain}/{service}.svc?singleWsdl ->(不变)

【讨论】:

    【解决方案2】:

    如果您想将用户重定向到另一个地址,如果他/她请求您的svc 文件,您可以使用rewrite,例如:

    <system.webServer> 
             <rewrite>
                 <rules>
                    <clear />
                      <rule name="Redirect to Blank" stopProcessing="true">
                   <match url="^(.+wsdl.+)/?$" /> 
                    <action type="Redirect" url="http://yourDomain/Blank.aspx" redirectType="Permanent" appendQueryString="false" />
                </rule>
                </rules>
            </rewrite>
      </system.webServer>
    

    如果wsdl 请求,应该将用户重定向到yourDomain/Blank.aspx 但应该有其他方法,但我已经在我的系统上测试过,效果很好。

    只需将此配置添加到您的服务(服务器端)的配置文件中。

    更新:

    您还可以使用&lt;match url="\b(wsdl|singleWsdl|svc)\b" /&gt; 重定向包含svcwsdlsingleWsdl 的URL。

    【讨论】:

    • 有什么反馈吗?这是你想要的吗?
    • Aria,对不起,我是第一次使用这个论坛。我试图评论您的答案,但最终将其添加为答案。请看一下。
    • @saaz 查看更新,阅读一些关于 Regex 和 URL Rewrite 模块的信息,我认为这个答案为您提供了不错的解决方案,并根据您的期望进行了一些更改。
    • 重定向现在工作正常,但原来的问题又回来了。我不再能够使用 SoapUI 连接到 wsdl。
    • 是的当然不能,因为浏览器中的浏览服务和SoapUI没有区别,我以为你在后端代码中使用了该服务。
    猜你喜欢
    • 2011-09-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-05
    • 1970-01-01
    • 2010-11-24
    相关资源
    最近更新 更多