我目前正在尝试将生成的报告作为 Web 服务使用,以将一些数据集成到我们的系统中。由于服务本身是生成的,因此响应可能会随着添加内容而频繁更改。虽然端点和响应可能会发生变化,但请求正文将始终相同(取自soapui):
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<Execute_Report>
</Execute_Report>
</soapenv:Body>
</soapenv:Envelope>
我正在尝试找出一种方法来对任何端点(不同的报告)发出上述请求并允许更改响应。理想情况下,我只想返回响应的原始 XML,因为如果我没有被绑定到数据合同,我可以更轻松地更改处理 XML 的方式。
还值得注意的是,该服务使用 WS-Security 并且用户名/密码作为请求的一部分传递。
当我不希望服务频繁更改时,我使用了 WCF,并且从 svcutil 生成的文件效果很好。但是,因为这些 web 服务是生成的,所以预期会发生变化,如果我能摆脱它,我不想在事情发生变化或必须生成文件时任由 svcutil 重新生成新文件(和维护)用于所有不同的生成的 Web 服务。
归根结底,问题是:如何使用 Web 服务并返回原始 XML,同时仍然能够将 WS-Security 应用于请求?