您的位置:首页 > 产品设计 > UI/UE

SoapUI工具中的用户名和密码如何用net代码实现传入

2017-08-18 11:15 405 查看
问题:

最近公司与陶氏SAP对接时,陶氏IT要求我们通过SoapUI调用接口时,要让SoapUI工具里面输入用户名和密码才可以调用。

CSDN高分提问:

为此还在CSDN中出高分提了一个问题,如下:

“一般的我们做Soap接口时候,在程序中我们一般都是把用户名和密码写在SoapHeader里面,但是如何编码,可以把用户名和密码传到SoapUI属性中的用户名和密码里面呢?
net如何把用户名和密码传到SoapUI属性里面?”

但一直没来回答,只好自己慢慢研究,通常我们接口时,用户名和密码都是在SoapHeader里面,再者因为没了解SoapUI工具输入的用户名和密码的机制,直接通过抓包工具看到 Base Authorization才慢慢的才到方向,

所以这里记录一下,以分享给遇到相同问题的同学们。



解决的方法:

(1).这种验证方式流程是,如果在浏览中打开地址时,会弹出输入用户名和密码,只有当用户名和密码输入正确后,接口地址才能正常显示。

(2).实际上SoapUI工具中的用户名和密码方式使用的认证方式是 “基本身份验证”,所以需要在IIS中把 “身份验证”方式中 “基本身份验证”启用,原先默认的 “匿名身份验证”方式禁用。



(3).接口中不需要做修改。

(4).客户端调用:

private void button1_Click(object sender, EventArgs e)
{
ServicePointManager.ServerCertificateValidationCallback += dowapi.Service1.RemoteCertificateValidate;//验证服务器证书回调自动验证
dowapi.Service1 serverapi = new dowapi.Service1();
//验证用户名和密码
string username = "username";
string password = "password";
string url = "https://xxx/xx.asmx?wsdl/";
CredentialCache mycache = new CredentialCache();
mycache.Add(new Uri(url), "Basic", new NetworkCredential(username, password));
serverapi.Credentials = mycache;

string returnmessage = serverapi.ShipmentDeliveryChinaChoice_Request_MT(action, sb.ToString());

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: