WSE3.0未处理的SoapHeaderException,未处理的SoapHeader异常。
在调试WSE项目过程中会遇到这个异常。WSE3.0未处理的SoapHeaderException,未处理的SoapHeader异常。如图
这个异常引起的原因是服务器端未能调用正确的我们重写的UserNameTokenManager类,服务端的应用程序集配置不正确。
<microsoft.web.services3>
<diagnostics>
<trace enabled="true" input="InputTrace.webinfo" output="OutputTrace.webinfo" />
</diagnostics>
<security>
<securityTokenManager>
<add type="MyUsernameTokenManager.MyUsernameTokenManager, UsernameTokenManagerClassLib" namespace="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" localName="UsernameToken" />
</securityTokenManager>
</security>
<policy fileName="wse3policyCache.config" />
</microsoft.web.services3>
<diagnostics>
<trace enabled="true" input="InputTrace.webinfo" output="OutputTrace.webinfo" />
</diagnostics>
<security>
<securityTokenManager>
<add type="MyUsernameTokenManager.MyUsernameTokenManager, UsernameTokenManagerClassLib" namespace="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" localName="UsernameToken" />
</securityTokenManager>
</security>
<policy fileName="wse3policyCache.config" />
</microsoft.web.services3>
红色字体部分一定设置自己定义实现的MyUsernameTokenManager的程序集信息,依次是命名空间、类、程序集名称。三者一定要正确。或者使用工具来设置如图
这样设置以后,WSE3.0设置工具也会在配置文件里生成相应的代码。这个快捷准确,是首选方法。
配置结束以后就会此异常就可以解决。
本文转自 frankxulei 51CTO博客,原文链接:http://blog.51cto.com/frankxulei/320523,如需转载请自行联系原作者