zoukankan      html  css  js  c++  java
  • SoapUI工具中的用户名和密码如何用net代码实现传入

    问题:

    最近公司与陶氏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());
    
            }
  • 相关阅读:
    shell 数组遍历加引号和不加引号的区别?
    shell map数据结构的实现
    PyCharm 项目打开窗口设置为当前还是新开一个怎么办?
    python 模拟ssh 登录远程服务器
    python 字节码死磕
    docker相关内容
    Windows7安装 docker-compose的过程
    史上最简单的Docker入门教程
    MySQL触发器使用详解
    存储过程
  • 原文地址:https://www.cnblogs.com/flyerca/p/7388578.html
Copyright © 2011-2022 走看看