问题标签 [wscf]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
.net - 从 WSDL 生成服务契约
我有一个 WSDL,我需要生成一个 ServiceContract(OperationContract,DataContract)...
我找到了一种为ASMX WebServices执行此操作的方法,但似乎无法在 WCF 中找到如何执行此操作。
我试过跑步
但生成的接口不会反序列化传入的调用,因此服务实现的所有请求参数都是null
c# - 在 WCF 中从 WSDL 生成代码不断返回消息与默认值不匹配
好吧,这让我发疯了。我一直在尝试从预定义的 wsdl 构建服务实现代码,并且它始终在服务合同/接口上返回一条消息:
我尝试使用 svcutil.exe 和 WSCF 的生成服务代码向导来执行此操作,并且都返回相同的结果。
下面是我正在使用的 WSDL。我在这里添加了类型,我确实将它们分解成一个单独的 xsd,只是不想同时发布两者。使用这个 wsdl(嵌入所有类型)也会产生同样的问题。
我已经查看了这篇博文(http://pzf.fremantle.org/2007/05/handlign.html),这就是我能找到的关于这个问题的全部内容。我想我已经完成了它所说的一切,但仍然有问题。
有没有其他人遇到过这个?这非常令人愤怒,也许我遗漏了一些明显的东西。任何帮助将不胜感激。
谢谢marc_s,
好的,这似乎有效。它只是响应类型中缺少的“s”。哦!
现在服务代码似乎生成正常,但是当我浏览到我的服务时,没有数据协定/xsd,也没有对 wsdl 的操作。
它看起来像:
我希望它看起来像我从中生成代码的 wsdl,不是吗?
c# - 使用 XSD 中的确切命名空间生成 DataContract
我们必须将我们的项目与后端 Oracle 平台集成。这种集成是通过各种 Web 服务实现的。我拥有所有这些集成的所有 WSDL 和 XSD。我需要从这些 WSDL 和 XSD 生成 DataContract。
现在的问题是,大多数这些集成都共享一些常见的数据类型。我想重用它们。
例如,
在这种情况下,我想在集成 1 和 2 之间重用 oracle.common.CommonDataTypes。
到目前为止,我已经尝试过 WSCF.blue 和 WSCF。但是这些工具在单个文件夹(和单个命名空间)中生成所有代码,而不是遵循命名空间。
我想在 oracle、oracle.commonData、oracle.integration1、oracle.ebo 等命名空间下生成类,那么生成 Datacontracts 的任何方式都遵循 XSD 所具有的确切命名空间表示法吗?
c# - .NET 中的 XmlSerializer 与 XmlSchemaForm.Unqualified
给定以下代码:
输出是:
问题是为什么设置 Form 属性会XmlSchemaForm.Unqualified
导致Element
元素的命名空间被设置为""
即使它具有XmlTypeAttribute
与 Root 元素具有相同命名空间的属性?
这种代码(XmlSchemaForm.Unqualified
部分)是由WSCF.blue
工具生成的,它与命名空间混淆了。
c# - 如何在 XSD 数据协定中指定泛型类型参数?
我有以下用于 Web 服务方法调用的请求和响应数据协定对
问题是我想要的是一种表达方式(伪代码)
并根据我通过的类型让响应包含一个 IList。
使用我上面的数据契约 XSD,当我只想指定类型定义时,它期望请求对象中有一个类的实例。
真的我想我想要什么
但我不确定如何在 XSD 中指定泛型类/方法。谁能指点我一篇好文章或解释我如何在 XSD 中定义它?
我也在使用 WSCF blue 进行代码生成。
c# - 带有错误消息的 WCF 服务单向方法
我想为 wcf 服务创建一种单向方法。一切都很好,除非我想返回故障信息——如果有的话。
我正在为 wsdl 和合同文件使用 wscf 蓝色代码生成器。
在 wsdl 操作元素中,我只有“输入”和“故障”子元素。当我运行该服务时,我得到了无法在单向通信中声明故障消息的信息,并且.. 一种解决方案是将单向设置为 false .. 我所做的并且它工作正常。如果发生错误,我会收到消息。
但是我想知道我是否违反了 Web 服务/wsdl 创建规则......因为从 wsdl 服务模式生成器为我创建了单向通信(设置为“true”)和其他编程语言的生成器可能会做同样的事情...
那么我所做的正确吗?如何更改 wsdl 以便生成器可以适当地创建代码?
如果理论上我不能在单向通信中使用错误,那么我是否需要额外的响应结构来返回任何错误?
谢谢!
wcf - 带有 xsd 生成的数据类的 WCF 服务返回空对象
我有一个 xsd 文件,我用它生成数据类(使用 xsd.exe 或 WSCF-blue)来构建 WCF 服务。
然后我将生成的类添加到 WCF 服务中的操作中,如下所示:
当我从客户端调用该操作时,客户端会返回MyGeneratedClassOut
填充了空值的请求,即使我很难在服务器端填充它们。
有谁知道如何解决这个问题?这可能是 XSD 文件或 WCF 配置中的问题吗?
c# - 为什么我的 WCF 客户端/服务会出现 ActionNotSupportedException?
我正在学习 WCF,特别是我正在学习如何首先编写合同,ala wscf.blue
我可以按最后一种方式创建 WCF 客户端/服务合同(Microsoft) 我可以按第一种方式创建 WCF 客户端/服务合同(WSCF)
但是,如果我创建一个合同优先服务,然后尝试以 Microsoft 方式(服务参考)而不是 WSCF.blue 方式(共享合同并生成客户端)添加它,它不起作用。
它抛出一个ActionNotSupportedException
带有消息的The message with Action 'urn:test-com:simple:testMethodIn' cannot be processed at the receiver, due to a ContractFilter mismatch at the EndpointDispatcher. This may be because of either a contract mismatch (mismatched Actions between sender and receiver) or a binding/security mismatch between the sender and the receiver. Check that sender and receiver have the same contract and the same binding (including security requirements, e.g. Message, Transport, None).
我不知道这意味着什么。
这是我的测试合同:
简单模型.xsd
简单消息.xsd
简单的.wsdl
这是 web.config 中的 system.serviceModel 部分
如果我添加对 Every 的服务引用http://localhost:50862/Simple.svc
似乎会生成 OK。
我通过导入 web.config 使用服务配置编辑器在客户端 app.config 中创建它:
如果我运行我的测试代码:
在 TestMethod 代理内部,以下行:
抛出以下异常
有人可以帮忙吗?
谢谢,
J。
第一次编辑
好的,我现在发现我的 doc-lit-wrapped wsdl 和代码生成器出了点问题。wscf.blue 不喜欢将可空类型标记为可空的消息。它脱离了包装模式,并且方法实现没有被解包。
但是,如果我不将它们标记为可空,则客户端代码将退出包装模式,因为它们是可空类型,未标记为可空。
将可空类型标记为不可空:
服务器端:
客户端:
将可空类型标记为可空:
服务器端:
客户端:
但是我不知道这是否是原因,更不用说如何解决它了。也就是说,我确实知道对于 doc-lit-wrapped wsdl 应该将可空类型标记为可空类型。
c# - 使用 WSCF 使用 Web 服务,Unicode 字符反序列化为 '??'
我们使用 WSCF(Web 服务合同优先)来创建客户端代理来使用我们拥有的另一个 Web 服务。Web 服务在某些字段中返回“特殊”字符,例如 ®。我们将这些字符视为“??” (实际上是两个问号字符,不是渲染问题)当 Web 服务响应反序列化为对象时。这种反序列化似乎是在 WSCF 的底层完成的。
在传统的“网络参考”中——我在网上找到了一些帖子,说您可以简单地将这个方法添加到您的 Reference.vb 文件中来缓解这个问题。
WSCF 使用方法存根生成的代理类继承自 System.Web.Services.Protocols.SoapHttpClientProtocol,因此我可以将相同的方法放在那里。我非常希望这能解决我们的问题,但在通过 Web 服务调用进行调试时,从未调用 GetWebResponse 函数。
我可以在代码中获得响应的“最接近”如下(这是生成的代码)。Arg 是响应,反序列化已经搞砸了“特殊”字符。
没有去掉 WSCF(这对这个应用程序来说是一个相当大的努力)——有人对如何解决这个问题有任何建议吗?
我已经使用 Fiddler 验证了我们正在使用的 Web 服务正在正确返回字符。我还刚刚在测试工具中创建了对它的服务引用,它工作正常。如果我必须回到管理层并说我们需要将我们的 Web 引用更新为现代服务引用,那就这样吧 - 但我希望我们不必这样做。
xml - 具有不同类型的 WCF SOAP 有效负载内容序列化
我正在处理一个 WSCF(Web Service Contract Firs)实现,在该实现中我收到了 XSD 文件和作为 WSDL 文件的通用调用。
通用 SOAP 调用如下所示:
我收到了带有多个对象的 XSD 文件,这些对象可以代替<ns1:ObjectToBeSerialize>
. 我从 XSD 生成了所有 C# 类,并从“内容”类创建了一个抽象类,我将属性添加到特定类,但这种方法不起作用。我也尝试使用“内容”类中的部分类,但我也没有成功。
关于如何实施这种方法的任何想法?