请记住,由 SvcUtil.exe 和/或添加服务引用生成的代理/客户端 WCF 类并不总是有效。因此,你必须“手工”/“艰难”地做事。
就说吧。
事实上,这是我遇到的问题。我必须与一个用 Java 编写的 Web 服务进行对话,而它生成的 WSDL 实在是太糟糕了,生成的代码根本无法工作。所以,我必须使用 HttpWebRequest 进行 SOAP 调用。当您至少可以有一个 app.config 来设置端点信息时,这是没有问题的。
当然,就我而言,我现在尝试在 Cmdlet 中与此 POS Java 服务通信,这意味着它位于 DLL 中,因此无法使用 app.config。
所以,现在的问题是;我到底如何通过 HttpWebRequest 以编程方式创建/使用 BasicHttpBinding 和 EndPointAddress 对象(这些对象是否正确)?
最佳答案
我同意你的观点,在 .NET 中使用 JAVA Web 服务有点令人讨厌,尤其是使用错误契约、ReplyAction 和带有额外包装器(如类型)的签名。
我针对类似需求采取的方法是手动重写 svcutil 生成的引用类。
如果现在的替代方案是使用 HttpWebRequest 调用 Java 服务,那么为什么我们需要绑定(bind)?假设这个Java Service是通过http传输的,难道不能直接使用post/get调用吗?
请您发布更多详细信息。
关于c# - 如何以编程方式创建 EndPoint 以与 Cmdlet 中的 HttpWebRequest 一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20750576/