更改 WCF 中的命名空间和 schemaLocation 属性

2024-04-29

我用 C# 开发了一个 WCF 服务。我们的客户已经有一个用 Java 编写的客户端软件。他们说当他们尝试添加我们的 wcf 服务引用时,他们收到错误。他们认为问题在于命名空间。
我对 WCF 中的命名空间或任何其他标记详细信息了解不多。
他们说 wcf 服务的 wsdl 输出必须如下所示:

<xsd:import id="base" namespace="http://helios.theircompanyName.com/im schemaLocation="http://wwwdev1.theirCompanyName.com:8000/HeliosIM/im?xsd=1"/>

但我们的服务提供:

<xsd:import schemaLocation="http://myComputerName/MyWcfProjectFolder/MyWcfService.svc?xsd=xsd0" namespace="http://tempuri.org/"/>

可以看出,我的服务没有类似的属性id="base" and namespace, schemaLocation属性不同。
我怎样才能改变WCF来生成他们想要的wsdl xml?


如果您想从 tempuri.org 更改服务的命名空间(这是 WCF 默认值),您需要在 4 个位置进行更改:

  1. 服务合同
  2. 数据合约
  3. 服务实施
  4. 端点配置元素中的 BindingNamespace

例如:

// Service Contract
[ServiceContract(Namespace="http://myNamespace")]
public interface IMyService
{}

// Data Contract
[DataContract(Namespace="http://myNamespace")]
public class MyType
{}

// Service implementation
[ServiceBehavior(Namespace="http://myNamespace")]
public class Service : IMyService
{}

<!-- In config -->
<endpoint address="http://whatever" 
          bindingNamespace="http://myNamespace"
          binding="basicHttpBinding" 
          contract="Something.IMyService" />

然而,我真的不明白为什么他们告诉你这是必要的。作为服务的提供者,提供什么命名空间取决于您而不是他们。无论该值设置为多少,它们在使用 wsdl 时都可能会遇到相同的问题。

schemaLocation 也是如此,同样,这个位置指向哪里并不取决于他们。当您在 xml 架构中进行导入时,架构位置实际上是完全可选的,因此,如果它们依赖于其中的某些值,那么它们就不符合 xsd。

我猜想他们在使用您的 WSDL 时遇到了困难,并且不太明白出了什么问题,因此选择责怪您的服务。通过 basicHttpBinding 公开的服务元数据是整个 WCF 堆栈中互操作性最强的,并且应该 100% 可从 java 使用。

他们如何努力建立客户?您的服务是否在他们可以看到的地方运行?

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

更改 WCF 中的命名空间和 schemaLocation 属性 的相关文章

随机推荐

  • Mysql正则表达式搜索不包含重复字符

    我有一个数据库表 其中包含字典中的单词 现在我想选择字谜词 例如 如果我给出字符串SEPIAN它应该获取像这样的值apes pain pains pies pines sepia etc 为此 我使用了查询 SELECT FROM word
  • 如何在 compose 中正确加载 svg 图像?

    我试图在 Jetpack compose 中加载 SVG 文件 但当我在手机上运行它时 它变成了黑色 这是我手机上的图像 我不想用tint修改器 因为它将以单一颜色加载 SVG Use Image可组合而不是Icon 图标默认进行着色 So
  • Firefox 中有 XDomainRequest 等效项吗?

    Firefox 或任何其他浏览器中是否有与 Internet Explorer 的 XDomainRequest 等效的功能 我想访问我的域之外的服务 网站 Internet Explorer 8 中的 XDomainRequest 对象是
  • 下拉菜单的 iframe z-index

    我有下拉菜单的代码 我的目标是通过 iFrame 加载该代码 不幸的是 我无法弄清楚如何使用 Z 索引加载 iFrame 外部的视图元素 代码如下
  • 如何在 PHP 中从serializeArray 获取 POST 值?

    我正在尝试这个我见过的新方法serializeArray with ajax var data form input serializeArray post var action process data data ajax etc 这样我
  • 如何在 VS 2012 中获取水晶报表?

    我对 VS 2012 有疑问 即我想创建一个报告 例如特定学生的结果 我搜索了很多然后我知道我必须安装SAP Crystal Report 并且我已经这样做了 但工具箱中仍然没有水晶报表 只有两个项目 名为 报表 报表向导 有人可以帮我弄这
  • Action Cables、嵌套 JSON 属性和 JSONAPI

    我有一个相当具体的问题 我希望你们中的一个真正聪明的人可能知道解决方案 甚至是现阶段的解决方法 具体来说 我正在处理操作电缆 嵌套 JSON 和 JSONAPI 我有一个asset模型 它具有一些属性 例如name desc等等 但它还有一
  • 覆盖 Kotlin 数据类的 getter

    给定以下 Kotlin 类 data class Test val value Int 我将如何覆盖Intgetter 以便如果值为负数则返回 0 如果这是不可能的 有哪些技术可以达到合适的结果 在花了几乎一整年的时间每天编写 Kotlin
  • Typescript 上的 Drawflow 库

    我目前正在尝试实现 Jerosoler 制作的很棒的 Drawflow 库 在这里找到 https github com jerosoler Drawflow https github com jerosoler Drawflow 在我的
  • 在 UIButton 中垂直显示标题?

    我是 iPhone 编程新手 我被这个简单的问题困扰了 我有一个UIView with a UIButton在里面 维度为UIButton40x200 靠近左边距 我需要在按钮中垂直显示文本 有没有一种方法可以在不使用任何图像的情况下完成此
  • php 的睡眠函数

    作为使用 cron 作业的可能替代方案 我找到了 sleep 函数 我以前从未使用过这个 如果我告诉我的脚本在一种循环内运行 并且在该循环内我有这样的指令 sleeps for 86400 seconds or one day sleep
  • oracle中的数字格式

    Hai 我的数字格式有问题 我正在使用 oracle 我在数据库中有一个数字字段 但是当我检索它时 我需要将其视为浮点数 例如 在检索时 现在我得到的结果为 200 DR 借方的 DR 手动给出 现在我需要得到 200 00 DR 的结果
  • Python 3:资源警告:未关闭的文件 <_io.TextIOWrapper name='PATH_OF_FILE'

    当我在 python 中运行测试用例时 python 规范化器 setup py 测试 我收到以下异常 ResourceWarning unclosed file lt io TextIOWrapper name Users workspa
  • 在我分叉了 github 项目后,如何才能保持原始项目的最新状态?

    在 github 上 在我分叉一个项目 修改它 然后提交我的拉取请求后 似乎我必须删除并重新分叉 以便在我的拉取请求得到尊重后保持最新状态 必须不断删除存储库才能使其保持最新状态 这似乎很乏味 有没有什么方法可以使其保持最新状态而无需删除和
  • Typescript 中此子范围的问题

    This is ALMOST和其他人一样this到目前为止 我已经读过范围界定问题 除了一个细微的差别之外 这使得提出这个问题变得有意义 imo 现在最初我的问题是范围this使用 Knockout 和 Typescript 因此给出以下内
  • 将接口作为参数传递给扩展方法

    我使用扩展方法来扩展 html 助手来制作 RSS 转发器 public static string RSSRepeater this HtmlHelper html IEnumerable
  • 角度 $q.all() 是否有第二次成功,如 jQuery $.get()

    查看 jQuery 文档 我发现了以下内容 get example php function alert success done function alert second success lt fail function alert e
  • FLTK 1.4 小部件位置 w.r.t. X11 根窗口?

    context 我正在和其他人一起编码参考系统 http refpersys org C 17 上的 GPLv3 项目gitlab https gitlab com bstarynk refpersys适用于 GNU Linux x86 6
  • 如何使用各个属性中的所有验证属性序列化模型?

    上下文 使用 mvc 控制器方法创建 jsonP 服务 该服务提供表单字段的定义 包括所有验证规则 我的问题是我不知道如何序列化验证属性 我更喜欢验证属性的格式与在常规 Mvc 视图中使用不显眼的验证时由 Razor 序列化的格式相同 为了
  • 更改 WCF 中的命名空间和 schemaLocation 属性

    我用 C 开发了一个 WCF 服务 我们的客户已经有一个用 Java 编写的客户端软件 他们说当他们尝试添加我们的 wcf 服务引用时 他们收到错误 他们认为问题在于命名空间 我对 WCF 中的命名空间或任何其他标记详细信息了解不多 他们说