将自定义Http标头添加到Web服务代理

时间:2009-08-21 02:08:00

标签: web-services soap asmx

我有一个旧应用程序,它使用经典Web服务代理与Java Web服务进行交互。一段时间后,Web Service托管商决定要求为每个请求发送一个自定义HTTP标头以访问该服务 - 否则请求将被彻底抛弃(看起来这是某种路由器要求)。无论我需要在请求中注入自定义HTTP标头的原因是什么。

有没有办法与实际的Http客户端进行交互以执行添加自定义标头的操作?

1 个答案:

答案 0 :(得分:20)

您应该可以通过在单独的文件中覆盖部分类中的代理类的GetWebRequest方法来执行此操作。在调用基类方法之后,您应该可以根据需要修改返回的HttpWebRequest,然后从方法中返回它:

public partial class MyServiceProxy {
    protected override WebRequest GetWebRequest(Uri uri) {
        HttpWebRequest request = (HttpWebRequest) base.GetWebRequest(uri);
        // do what you will with request.
        return request;
    }
}