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());
    
            }
  • 相关阅读:
    HDU 2073 无限的路
    HDU 2080 夹角有多大II
    if
    HDU 2094 产生冠军
    HDU 2076 夹角有多大(题目已修改,注意读题)
    HDU 2086 A1 = ?
    HDU 2069 Coin Change
    HDU 2095 find your present (2)
    android常用开发工具的用法
    android安装前期遇到的问题
  • 原文地址:https://www.cnblogs.com/flyerca/p/7388578.html
Copyright © 2011-2022 走看看