我正在使用VS 2012中的asp.net mvc在WSE 3.0中使用UsernameToken进行WebService身份验证。我创建了一个用于授权登录的示例应用程序。我得到的错误是"解析策略文档失败。" 在MyWebService.SetPolicy上(" ClientPolicy");代码块
这是我的代码。
webRef.COREEnvelopeRealTimeResponse respObj = new webRef.COREEnvelopeRealTimeResponse();
webRef.ServiceWse MyWebService = new webRef.ServiceWse();
webRef.CoreEnvelopeRealTimeRequest obj = new webRef.CoreEnvelopeRealTimeRequest();
obj.PayloadType = "X12_270_Request_005010X279A1";
obj.ProcessingMode = "Real Time";
obj.PayloadID = "f81d4fae-7dec-11d0-a765-00a0c91e6bf6";
obj.SenderID = "HETS User";
obj.ReceiverID = "HETS Admin";
obj.CORERuleVersion = "2.2.0";
obj.Payload = "<![CDATA[ISA*00* *00* *ZZ*NEHEN780 *ZZ*NEHEN003 ...IEA*1*000000031]]";
// Create the username token
const string Username = "MyUsername";
const string Password = "MyPassword";
UsernameToken MyToken = new UsernameToken(Username, Password,PasswordOption.SendPlainText);
MyWebService.SetClientCredential(MyToken);
MyWebService.UseDefaultCredentials = false;
MyWebService.SetPolicy("ClientPolicy");
respObj = MyWebService.SendRealTimeRequest(obj);
MyWebService.SendRealTimeRequest(obj);
//Response.Write(respObj);
我也定义了&lt;政策&gt;命名为&#34; ClientPolicy&#34;在我的wse3policyCache.config中。这是我如何使用它
<extensions>
<extension name="usernameOverTransportSecurity" type="Microsoft.Web.Services3.Design.UsernameOverTransportAssertion, Microsoft.Web.Services3, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
<extension name="requireActionHeader" type="Microsoft.Web.Services3.Design.RequireActionHeaderAssertion, Microsoft.Web.Services3, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
<policy name="ClientPolicy">
<usernameOverTransportSecurity />
<requireActionHeader />
我检查了msdn网站提供的解决方案: - http://social.msdn.microsoft.com/Forums/en-US/b5e9abe9-4b7b-40f7-bb72-5cc6871ac179/failed-parsing-the-policy-document?forum=asmxandxml但它不适用于我的情况。
提前致谢