1

我已经多次发布这个主题,但没有运气。我会再尝试。

我们有一个项目,我们应该根据从客户端和固定服务合同获得的 XSD 文件创建 WCF 服务,如下所示:

消息自定义操作(消息输入消息);

因此,操作将是相同的,但 XSD 文件会发生变化。

我们应该以编程方式做的所有事情。

以下是我的问题:

1) 如何以编程方式从 XSD 文件创建 WSDL 文件,了解服务的外观(见上文)?

2)如何使用1)中生成的WSDL文件以编程方式创建WCF服务?

3) 如何从上面的服务中读取输入/请求和输出/响应 SOAP 消息的正文?

有不止一种方法,我不知道哪一种是正确的。我还没有接近解决方案。

有一种使用 ServiceDescription 类以编程方式编写 WSDL 文件的方法,但它很复杂,如何正确执行,创建 WSDL 文件后要做什么等。

有一种使用 IXmlSerializable 接口的方法,但我不需要创建 C# 类型,因为我只有 XSD 文件。一切都应该以编程方式完成。

我想我应该使用原始消息,但是如何将该方法与我应该从中创建 WSDL 文件的现有 XSD 文件连接起来,以及如何将该 WSDL 文件传递​​到...在哪里?

先感谢您。

问候,

戈兰

4

1 回答 1

0

在这一点上,您可能应该质疑您是否提出了正确的问题。你已经发布了 4 次关于这个问题的帖子(1)、(2)、(3),但是你没有一次用简单的语言真正解释过你想要实现的目标。

如果您只是要求解决方案而不分享您的问题,那么人们很难正确回答。

是的,您想做的事情是可能的,但这不是我自己想尝试的事情。

在回答您的问题时:

  1. 这正是 WSCF.blue 所做的。去下载他们的源代码

  2. 使用 powershell 或其他一些自动化环境,针对 svcutil.exe 运行 wsdl 并生成要在服务上公开的类型。然后编译代码。然后在运行时使用某种 IoC 容器将类型作为依赖项注入服务代码(我认为Castle Windsor有很多 WCF 集成)。

  3. 使用 powershell 或其他一些自动化环境,将 svcutil.exe 指向正在运行的服务并生成代码代理。编译代码,然后在运行时将代理注入您的客户端代码,类似于上面。

于 2012-10-09T07:37:30.483 回答