问题描述
大家好,
我在使用WSE 2.0 SP3(.NET Framewok 1.1)时遇到一些问题.
我使用WSE 2.0 SP3来使用安全的Web服务.
我尝试将带有SOAP标头的UsernameToken发送到安全的Web服务. (Axis Java Web服务)
请参阅下面的代码,
....
UsernameToken userToken =新的UsernameToken(userName,password,PasswordOption.SendPlainText);
SoapContext requestContext = this.objProxyService.RequestSoapContext;
requestContext.Security.Tokens.Add(userToken);
MessageSignature sig =新的MessageSignature(userToken);
requestContext.Security.Elements.Add(sig);
......
this.objProxyService.GetValue(); ->出现错误
但是错误名称空间前缀'soap'未定义".当我尝试调用Web方法时发生.
SOAP消息使用"soapenv"是否有问题?前缀?
以下是期望的SOAP消息,
< soapenv:信封xmlns:ser ="http://servicexxxxxxxxxx.xx.xx" xmlns:soapenv =" http://schemas.xmlsoap.org/soap/envelope/>
< soapenv:Header>
< wsse:Security soapenv:mustUnderstand ="1" xmlns:wsse =" http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu =" http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"和"
" < wsse:UsernameToken wsu:Id ="UsernameToken-448969DA1257B4367F14967409135479">
< wsse:用户名>我的用户名</wsse:用户名>
< wsse:Password Type =" http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText" MyPassword</wsse:密码>
< wsse:Nonce EncodingType ="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary"> dnvHwbnDwj27eNtJhTPpAw ==< /wsse:Nonce>
< wsu:Created> 2017-06-06T09:21:53.547Z</wsu:Created>
</wsse:UsernameToken>
</wsse:Security>
</soapenv:Header>
........
我该如何解决这个问题?
非常感谢.
Hi all,
I have some problem about using WSE 2.0 SP3 (.NET Framewok 1.1).
I use WSE 2.0 SP3 for consume secure web service.
I try to send the UsernameToken with SOAP Header to the secure web service. (Axis Java Web Service)
See my code below,
....
UsernameToken userToken = new UsernameToken(userName,password, PasswordOption.SendPlainText);
SoapContext requestContext = this.objProxyService.RequestSoapContext;
requestContext.Security.Tokens.Add(userToken);
MessageSignature sig = new MessageSignature(userToken);
requestContext.Security.Elements.Add(sig);
......
this.objProxyService.GetValue(); --> Error Appear
But the error "Namespace prefix 'soap' not defined" is occurred, when I try to invoke web method.
Does it have problem from the SOAP Message use "soapenv" prefix?
Below is expect SOAP message,
<soapenv:Envelope xmlns:ser="http://servicexxxxxxxxxx.xx.xx" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Header>
<wsse:Security soapenv:mustUnderstand="1" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<wsse:UsernameToken wsu:Id="UsernameToken-448969DA1257B4367F14967409135479">
<wsse:Username>MyUsername</wsse:Username>
<wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">MyPassword</wsse:Password>
<wsse:Nonce EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary">dnvHwbnDwj27eNtJhTPpAw==</wsse:Nonce>
<wsu:Created>2017-06-06T09:21:53.547Z</wsu:Created>
</wsse:UsernameToken>
</wsse:Security>
</soapenv:Header>
........
How can I solve this problem?
Thank you very much.
这篇关于如何修复错误“未定义命名空间前缀"soap"";使用WSE 2.0 SP3 [.NET Framewok 1.1]的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!