问题
We were given a set of ASMX services to consume. We have no say in how these services are implemented. We have generated a number of proxies with wsdl.exe tool but for some reason unknown to me, these generated proxies don't have any means for including custom SOAP headers.
Basically, I need a way to add custom header data to various service calls.
I am aware of existence of SoapExtension class but unfortunately we're not allowed to use that due to supposed performance issues.
Are there any alternative ways of customizing/adding header data in SOAP requests?
回答1:
you can use SoapHeader
/ SoapUnknownHeader
to extend the generated proxy for this:
- http://msdn.microsoft.com/en-us/library/whew6x7f.aspx
- http://msdn.microsoft.com/en-us/library/y4t36w86.aspx
- http://msdn.microsoft.com/en-us/library/system.web.services.protocols.soapheader.aspx
EDIT - as per comments:
To include a custom namespace see the sample code here.
来源:https://stackoverflow.com/questions/8132887/adding-soap-headers-to-asmx-service-requests