我们正在尝试实现使用SOAP连接到服务器的客户端。 我们正在使用 WSDL 文件使用svcutil生成客户端类。
到目前为止,我已经设法使通讯正常进行,以便发送消息并接收响应。但是,接收该命令的框架拒绝接受答案,因为客户端已在Action中添加了某种命名空间和服务名(我认为)。
我发送了一个来自 WSDL 文件的SOAP标题为 Action :/GetMyTransaction
的命令,并向该命令发送了 WSDL 指出预期的 ReplyAction 应该为/GetMyTransactionResponse
。
但是,在响应中,动作设置为urn://foo/bar/:someService:GetMyTransactionResponse
。现在,我没有进行SOAP导出,所以我不知道这是否可能是有效的响应。它包含正确的 Action ,但还包含其他内容。另外,生成的文件不接受其他 Action 。
所以我的问题是:有什么方法可以告诉ServiceModel接受其他数据?
现在可以手动编辑生成的代码并输入完整的 Action ,但是相同的代码应支持其他按预期方式响应的服务器,因此我不能只编辑生成的代码文件,然后插入扩展的 Action 。 (除非我可以在OperationContractAttribute的 ReplyAction 属性中添加某种通配符。