Pit*_*all 8 c# soap web-services httpclient
这是标题应该是什么样子
<soap:Header>
<AuthenticationHeader>
<UserName>string</UserName>
<Password>string</Password>
</AuthenticationHeader>
</soap:Header>
Run Code Online (Sandbox Code Playgroud)
这是我尝试过的:
string username = "TheUserName";
string password = "ThePassword";
HttpRequestMessage requestMessage = new HttpRequestMessage(method, uri);
requestMessage.Headers.Add("UserName", username);
requestMessage.Headers.Add("Password", password);
Run Code Online (Sandbox Code Playgroud)
也许我必须以某种方式设置授权标头?
requestMessage.Headers.Authorization = ??
Run Code Online (Sandbox Code Playgroud)
我觉得我不得不"构建"那个AuthenticationHeader元素,但我不知道该怎么做.有什么建议?
编辑:完整的SOAP信封
?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Header>
<AuthenticationHeader xmlns="http://www.test.com/testing/Security">
<UserName>string</UserName>
<Password>string</Password>
</AuthenticationHeader>
</soap:Header>
<soap:Body>
<GetMeSomething xmlns="http://www.test.com/testing/WorkFileCatalog">
<Param1>string</Param1>
<Param2>string</Param2>
<XMLRetMess>string</XMLRetMess>
</GetMeSomething>
</soap:Body>
</soap:Envelope>
Run Code Online (Sandbox Code Playgroud)
Sub*_*bbu -1
如果您使用HttpClientPOST 请求,那么您应该构建完整的 XML 请求。
换句话说,您将构建精确的 Soap XML,包括所有元素
string requestXml = your actual full soap xml
string result = HttpClient.Post ( your actual xml )
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4595 次 |
| 最近记录: |