我试图通过WCF调用一个Web服务,它在SOAP Header中有USERNAME和PASSWORD。
我能够在客户端创建SOAP头,但必须从服务端测试它。下面是我从Fiddler生成的SOAP Envelope。
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Header>
<wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
<wsse:UsernameToken xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">username</wsse:UsernameToken>
<wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordDigest">l5ZdykMOMh0c9FBMmuzj1mSDkII=</wsse:Password>
<wsse:Nonce EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary">X3hHHJmJGpLQiv0otiPmEcuyZODKuG2N2luzQyRSx6XnNGqJlDtL+u72Xo1jnVzUEBZlA3BZxNOsE/CC6227hw==</wsse:Nonce>
</wsse:Security>
</s:Header>
<s:Body>
<GetData xmlns="http://tempuri.org/">
<value>8</value>
</GetData>
</s:Body>
</s:Envelope>
但我没有得到如何开发为此创建服务。表示如何在服务级别验证此用户名和密码。
由于我创建了普通的WCF服务,当我传递SOAP请求时,我收到以下错误,但有些我必须如何制作此服务,它应该检查SOAP请求中传递的凭据,并且响应必须送回客户端。
错误:他的内容类型为text / html; charset =响应的UTF-8 message与绑定的内容类型不匹配(text / xml; 字符集= UTF-8)。如果使用自定义编码器,请确保 IsContentTypeSupported方法正确实现。第一个1024 响应的字节是:'Fiddler Echo Service
Fiddler Echo 服务
POST /Service1.svc HTTP / 1.1内容类型: 文/ XML; charset = utf-8 VsDebuggerCausalityData: uIDPo4Ge0 / 7PGPVGuUnHA42gJlABAAAAg + I / 3kLfaUmsO7qOZzeMmSRKTvecymdLlkjZ9CAeqTcACQAA SOAPAction:“http://tempuri.org/IService1/GetData"主持人: localhost:8888内容长度:836期待:100-continue Accept-Encoding:gzip,deflate Connection:Keep-Alive
&LT; S:信封 的xmlns:S =“http://schemas.xmlsoap.org/soap/envelope/"><s:Header><wsse:Security 的xmlns:的wsse =“http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"><wsse:UsernameToken xmlns:wsse =“http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">username</wsse:UsernameToken><wsse:Password Type =”http://docs.oasis-open.o'。
** EDITED:
我的路径:
我必须使用SOAP(Web服务)中的服务 取用户名令牌参数。
现在我想更新我的服务(存根),它应该能够接受 SOAP请求我作为XML和用户名和密码传递的内容 验证应该在基于SOAP请求和i的服务中进行 如果经过身份验证,则必须收到回复。