我如何获得SAVON (ROR) SOAP报头来匹配我的c#服务需求?

本文关键字:我的 服务 需求 报头 SAVON 何获得 ROR SOAP | 更新日期: 2023-09-27 18:08:52

我有一些代码在我的c# webservice,检查头字符串包含一个有效的用户。

代码是:

MessageHeaders headers = OperationContext.Current.IncomingMessageHeaders;
String soapHeader = headers.GetHeader<String>("VerifyUser", "http://companyname.co.uk");

其中soapHeader是我检查的字符串。(当前包含用户名密码(MD5))

如何在header中从SAVON Rails发送一个字符串,以便它可以在webservice上被拉回。

最好不改变当前的c#代码,除非你也可以指定一种从c#客户端发送的方式。

Ive tried

response = client.request :wsdl, :get_customer_centre_details do
  soap.header = { "VerifyUser" => "1:5F4DCC3B5AA765D61D8327DEB882CF99" }
end

干杯!

编辑:这是我目前在c#中添加标题的方式

OperationContextScope scope = new OperationContextScope(ConChannel);
MessageHeader<String> header = new MessageHeader<String>(UserID + ":" + md5HashString);
var untyped = header.GetUntypedHeader("VerifyUser", "http://www.companyname.co.uk");
OperationContext.Current.OutgoingMessageHeaders.Add(untyped);

我如何获得SAVON (ROR) SOAP报头来匹配我的c#服务需求?

我缺少的是添加到XML名称空间的属性选项,因此它没有被标识为相同的标头。

    response = client.request :wsdl, :get_services do
      soap.header = { "VerifyUser"  => "1:5F4DCC3B5AA765D61D8327DEB882CF99", :attributes! => { "VerifyUser" => { "xmlns" => "http://www.companyname.co.uk"} } }
    end