问题标签 [contract-first]

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.

0 投票
1 回答
244 浏览

spring - 当前一代的合同优先与合同最后

这个问题可能听起来很荒谬。每当我看到 Contract First 和 Contract Last 之间的区别时,我都会看到 WSDL 这个词。

它如何适应当前的注释和 JSON 对象世界?它是否像地图一样

Contract-First --> 使用明确的 Java 类作为请求对象 Contract-last -> 使用通用 hashmap 作为请求对象

0 投票
0 回答
889 浏览

c# - WCF 契约优先 - 从 WSDL/大量 XSD 创建服务

我熟悉自下而上创建 WCF 服务(服务优先),但是,我的任务是尝试从一组 WSDL(合同优先)创建 WCF 服务。

我得到了一个名为“Schema”的文件夹,其中包含一组 WSDL 和一堆包含 XSD 文件的子文件夹(很多嵌套,很多 XSD,一些 XSD 的名称相同)。我所看到的大部分内容都建议将所有 XSD 放在同一个文件夹中 - 但我不能这样做。

运行命令时, svcutil *.wsdl *.xsd /language:c# /out:"c:\temp\test.cs"我收到错误“输入路径 '*.xsd' 似乎没有引用任何现有文件,我认为这是有道理的,因为 Schema 文件夹中没有 .xsd。

  1. 这是正确的命令(我应该使用 /dataContract 生成)吗?
  2. 当我有这种复杂的子文件夹结构、嵌套的 xsd 并且无法将所有 XSD 放在 1 个目录中时,如何生成?

更新:

我放弃了使用 svcutil 并按照用户的建议使用 wscf.blue。我现在遇到托管服务的问题。我创建了一个名为 eFileServiceLibrary 的 WCF 服务库。

服务等级:

合约类别:

应用程序配置:

在 F5ing 服务库时,我收到:WCF 服务主机找不到任何服务元数据。这可能会导致客户端应用程序运行不正常。请检查是否启用了元数据。你想退出吗?

似乎 mex 端点在那里,并且该行为启用了 servicemetadata。我还尝试为我的行为添加一个名称属性,并从服务标签的行为配置属性中引用它 - 仍然没有运气。

非常感谢任何见解

0 投票
0 回答
41 浏览

c# - 什么可以代替Linq2Xsd?

我们已经使用 Linq2Xsd 十年了。对于执行集中控制内部数据结构和外部接口,我们发现它非常宝贵。我们的团队规模约为 3 个子团队中的 10 名开发人员。我们非常喜欢您可以分支代码、编辑合同、将其分配给开发人员并向他们提供 DC 更改和所需功能的书面描述的方式。我们不能保证它们将来会继续运作。

但是,我们不愿意放弃我们工作流程的合同优先性质。(在我们的特定部门)它工作得太好了。

我们的“后端”系统包括:

  1. 从数据库生成的 Linq To Sql 数据访问层(将替换为 Devart 的 LinqConnect)
  2. 由主合约 XSD、公共入口点和公共数据结构生成的 Linq To Xsd 支持的业务逻辑层。还根据 XSD 验证传入的 XML
  3. 许多从 BLL 中提取 WSDL 的接口项目会自动生成服务,无论是 SOAP 还是 REST。

以下是需要由 Visual Studio 2012 和/或 Visual Studio 2017 的一个或多个、良好支持或至少开源的附加组件填充的用例。

一种创建众所周知类型的结构化文档的方法,可以在构建时读取,用于创建项目公开的公共静态方法和公共数据类。

传入的数据,无论是二进制文件还是文本文档,都可以根据所述合同进行验证。

0 投票
1 回答
3718 浏览

spring - Swagger Codegen basePath 被忽略

我正在尝试使用Swagger Codegen » 2.2.1生成一些 Web 服务定义

所有配置都在工作,并且类是由我的.yaml定义正确生成的。

为什么财产basePath被忽视了?


我只使用定义@RestController生成:paths

预期(使用basePathpaths定义):

我究竟做错了什么?我是不是忘记了什么?


我的.yaml合同:

0 投票
0 回答
42 浏览

java - 将旧版 JAVA RPC SOAP Web 服务器迁移到 Spring boot

我需要将旧版 JAVA RPC/Encoded SOAP Web 服务器迁移到 Spring Boot。此 Web 服务器被大量客户端应用程序使用,并且预计客户端的迁移将是无缝的。我尝试使用 Contract First 方法在 Spring Boot 中生成 Web 服务器,但 RPC/Encoded wsdl 无法使用它。我试图为此收集一些炒锅,但没有在线获得任何相关文档或指导。

在我的情况下,即使对 wsdl 进行微小的更改而不对客户端应用程序产生任何影响也是可以接受的。例如,如果不会在使用此 Web 服务的客户端应用程序中产生问题,则可以将类型更改为文字,而不是编码。

任何完整的指导将不胜感激。下面是wsdl文件。

0 投票
0 回答
24 浏览

java - 在java中更改生成的wsdl的soap地址

亲爱的我正在使用自上而下的方法“首先合同”开发一个肥皂服务供应商向我提供了一个 wsdl 文件我使用axis2和eclipse通过eclipse的向导和axis2 wsdl2java生成关联的类生成生成骨架类在哪里我把我的逻辑问题是源wsdl在底部

供应商希望位置标记处的 url 类似于 wsdl 中的内容,当我在 tomcat 服务器上部署服务时,axis2 将肥皂地址位置重写为

我需要将 serviceNamePort 的一部分添加到路由中,就像

我试图通过将“modifyUserWSDlPortAddress”设置为false并将“useOriginalwsdl”保持为true来配置“service.xml”文件来做到这一点,但是当尝试使用wsdl中的url访问wsdl时我找不到它

因此,我如何在axis2运行时环境中自定义wsdl位置......提前致谢

EDIT1:我尝试使用库“url-rewrite”重写 url在这里找到它

当我尝试从我的电脑访问它时它起作用了,但对于我正在处理它的客户来说,它没有......有没有更好的方法来做到这一点