1

我们正在尝试实现一个使用 SOAP 连接到服务器的客户端。我们正在使用WSDL文件通过 svcutil 生成客户端类。

到目前为止,我已经设法让通信正常工作,以便发送消息并接收响应。然而,接收命令的框架拒绝接受答案,因为客户端已经向 Action 添加了某种命名空间和服务名(我认为)。

我发送了一个带有 SOAP 标题Action的命令,/GetMyTransaction它来自WSDL文件,并且对于这个命令,WSDL声明预期的ReplyAction应该是/GetMyTransactionResponse

但是在响应中,Action设置为urn://foo/bar/:someService:GetMyTransactionResponse。现在我不是 SOAP 导出,所以我不知道这是否真的可能是一个有效的响应。它包含正确的操作,但也包含其他内容。此外,生成的文件不接受不同的Action

所以我的问题是:有没有办法告诉 ServiceModel 接受额外的数据?

现在可以手动编辑生成的代码并输入完整的Action,但是相同的代码应该支持其他按预期响应的服务器,所以我不能只编辑生成的文件并插入扩展的Action。(除非我可以将某种通配符添加到 OperationContractAttribute 中的ReplyAction属性中。

4

0 回答 0