我已多次发布此主题,但没有运气。我会再试一次。
我们有一个项目,我们应该根据我们从客户端获得的XSD文件和看起来如下的固定服务合同来创建WCF服务:
Message CustomAction(Message inputMessage);
因此,操作将是相同的,但XSD文件将会改变。
我们应该以编程方式完成所有工作。
以下是我的问题:
1)如何从XSD文件中以编程方式创建WSDL文件,了解服务的外观(见上文)?
2)如何使用1)中生成的WSDL文件以编程方式创建WCF服务?
3)如何从上面的服务中读取输入/请求和输出/响应SOAP消息的主体?
有一种以上的方法,我不知道哪一种是正确的。我不太接近解决方案。
有一种使用ServiceDescription类以编程方式编写WSDL文件的方法,但它很复杂,如何正确地执行,在创建WSDL文件后要做什么等等。
有一种方法可以使用IXmlSerializable接口,但我不需要创建C#类型,因为我只有XSD文件。一切都应该以编程方式完成。
我想我应该使用原始消息,但是如何将该方法与现有的XSD文件连接起来,我应该从中创建WSDL文件以及如何将该WSDL文件传递给... where?
提前谢谢。
此致
戈兰
答案 0 :(得分:0)
你应该在这一点上质疑你是否在提出正确的问题。您已经发布了4次关于此问题的帖子(1),(2),(3),但是您没有用实际语言解释过您正在尝试的内容实现。
如果您只是在不分享问题的情况下寻求解决方案,那么人们很难正确回答。
是的,你想做的事情是可能的,但这不是我想尝试的事情。
回答你的问题:
这正是WSCF.blue所做的。去下载他们的sourcecode。
使用powershell或其他一些自动化环境,针对svcutil.exe运行wsdl并生成要在服务上公开的类型。然后编译代码。然后在运行时使用某种IoC容器将类型作为依赖项注入服务代码中(我认为Castle Windsor有一堆WCF集成)。
使用powershell或其他一些自动化环境,在运行的服务上指向svcutil.exe并生成代码代理。编译代码然后在运行时将代理注入客户端代码,类似于上面的内容。