接口调用失败,失败原因:在 ServiceModel 客户端配置部分中,找不到引用协定的默认终结点元素

2023-11-08

我的程序中,已经配置了webserivce了,但是无法再开发环境使用,我想拿到测试环境使用,而webservice又只能在开发环境调用。这个时候,为了解决这种尴尬问题,我只能先将就着用开发时的webservice。


在我的web.config中,有如下终结点配置,但是我的程序可能,我希望能在测试环境中,能够根据web.config中的配置来使用。

<system.serviceModel>
    <client>
      <endpoint address="http://192.168.254.120:7001/ui/services/OnlineBussService"
        binding="basicHttpBinding" bindingConfiguration="OnlineBussServiceSoapBinding"
        contract="ABCLifeFTP.OnlineBussWebService" name="OnlineBussService" />
    </client> 

  </system.serviceModel>

原先开发环境的调用webservice已经写好了,但是现在不得不为了动态使用配置而新增代码,添加了如下的代码:


 //获取web.config中的终结点配置

public string GetEndPointAddressByName(string name)   

        {
            string configUrl = "";
            ClientSection clientSection = (ClientSection)WebConfigurationManager.GetSection("system.serviceModel/client");  //找到终结点标签
            if (clientSection == null && clientSection.Endpoints.Count <= 0)  //判断是否存在
            {
                RecordLog<string>("Recive:[GetEndPointAddressByName]", "Endpoint地址未配置");
                return null;
            }
            foreach (ChannelEndpointElement cee in clientSection.Endpoints)    //循环终结点,找到需要使用的配置
            {
                if (cee.Name == name && cee.Address != null)
                {
                    configUrl = clientSection.Endpoints[0].Address.AbsoluteUri;   //获取地址
                    RecordLog<string>("Recive:[GetEndPointAddressByName.configUrl]", configUrl);
                    return configUrl;
                }
            }
            RecordLog<string>("Recive:[GetEndPointAddressByName]", "Endpoint地址未配置或配置错误,调用的终端节点名称:" + name);
            return null;

        }


而在调用web.config代码中,也需要做修改:


           OnlineBussWebServiceClient OBWSC = null;     //定义接口Client


            try
            {
                string str = GetEndPointAddressByName("OnlineBussService");     //根据此名称,调用上面的方法,获取webservice的地址
                if (str != null)
                    OBWSC = new OnlineBussWebServiceClient(new BasicHttpBinding(), new EndpointAddress(str));   //根据地址去实例化接口
                else
                    return;
                if (OBWSC == null)
                {
                    RecordLog<string>("Recive:[SendPolicyInfo.OBWSC]", "服务调用失败");
                    return;
                }
                RecordLog<OnlineBussWebServiceClient>("Recive:[SendPolicyInfo.OBWSC]", OBWSC);
            }
            catch (Exception ex)
            {
                RecordLog<string>("Recive:[SendPolicyInfo.Exception1]", ex.Message);
                return;
            }

使用接口方法:

        string sss=OBWSC .GetName("Test");


就这样,我的程序,就可以根据web.config文件中配置的地址,来动态使用接口了,在测试环境使用就不成问题了。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

接口调用失败,失败原因:在 ServiceModel 客户端配置部分中,找不到引用协定的默认终结点元素 的相关文章

随机推荐

  • Mysql第三章:存储引擎(MyISAM和Innodb)

    目录 1 什么是存储引擎 2 常用存储引擎 2 1 MyISAM特点 2 2 Innodb特征 2 2 1 Innodb优点 2 2 2 innoDB内存模型 3 MVCC多版本控制器 3 1 首先了解事务ACID 的实现 3 2 首先了解
  • Nginx的配置与部署及例子

    Nginx的配置与部署及例子 1 Nginx程序包 目前最新的开发版本时1 1 12 Linux Unix nginx 1 1 12 tar gz Windows nginx 1 1 12 zip 我们可以下载稳定版尝试 Linux Uni
  • UE4/UE5 使用Unreal Datasmith完全教程

    插件整理下载 点击下载 UE4 4 19 UE5 5 3 官方 入口 Datasmith支持导入Twinmotion Twinmotion教程汇总 2021 4 2 Datasmith安装到4 20 4 23版本 UE4 在4 20 23版
  • iis ajax json,IIS配置jquery ajax、 json,mp4文件支持

    11 条件加载Jquery 如果CDN没有下载到Jquery 则从本地读取 在MIME增加一个Json类型 在MIME增加一个配置如 添加 gt 文件扩展名为 JSON MIME类型为text json 也有将application x j
  • 深度学习的归一化方法

    目录 1 为什么使用 Normalization 2 BatchNorm vs LayerNorm 适用场景 工作原理 3 GroupNorm 本次介绍一下各种归一化方法 包括 BatchNorm LayerNorm InstanceNor
  • 使用albumentations库进行数据增强

    需要注意增强之后以字典键值的形式调用输出 且可以保证img gt的随机增强是一一对应一致的 import albumentations as albu tfrd albu Compose albu HorizontalFlip p 0 5
  • 关于SpringBoot中pom.xml中<plugin>报错

    报错部分代码
  • PTAWindows消息队列c++版——山东科技大学

    题目 消息队列是Windows系统的基础 对于每个进程 系统维护一个消息队列 如果在进程中有特定事件发生 如点击鼠标 文字改变等 系统将把这个消息加到队列当中 同时 如果队列不是空的 这一进程循环地从队列中按照优先级获取消息 请注意优先级值
  • [Tools] SecureCRT文件传输模式介绍

    如下图所示 SecureCRT有5种文件传输模式 1 ASCII 最快的传输模式 但只能传文本 2 Binary 只能传二进制文件 3 Xmodem 非常古老的传输协议速度较慢 但由于使用了CRC错误侦测方法 传输的准确率可高达99 6 4
  • PAT 1103 Integer Factorization

    题目的意思是给定n k p 求是否存在k个正整数 每个数的p次幂相加的结果等于n 有 输出k个数相加的结果最大的那个 如果有多个 输出序列从大到小排最大的那个 从左往右比较 若 i lt l a i
  • 查看端口占用情况(Windows环境)

    查看端口占用情况 1 打开命令窗口 以管理员身份运行 2 查询所有端口的占用情况 3 查看指定端口的占用情况 4 查看是哪个进程或者程序占用了相应的端口 5 解决端口占用问题 1 打开命令窗口 以管理员身份运行 window R组合键 输入
  • C++——RAII机制

    文章目录 我们知道 资源的使用一般经历三个步骤 a 获取资源 b 使用资源 c 销毁资源 资源的销毁往往是程序员经常忘记的一个环节 忘记销毁资源可能会造成内存泄露 怎么解决呢 RAII RAII Resource Acquisition I
  • Nginx配置错误

    漏洞概述 PHPUnit 是 PHP 程式语言中最常见的单元测试 unit testing 框架 通常phpunit使用composer非常流行的PHP依赖管理器进行部署 将会在当前目录创建一个vendor文件夹 phpunit生产环境中仍
  • Django 模型(model)

    目录 前言 一 Django ORM 什么是ORM ORM 解析过程 ORM 对应关系表 二 数据库配置 Django 如何使用 mysql 数据库 三 定义模型 创建 APP 四 定义模型类 数据库表名 关于主键 属性命名限制 字段类型
  • 二、【React拓展】懒加载 lazy

    文章目录 1 适用点 2 汇总 1 适用点 懒加载往往配合路由一起使用 此处修改的项目是 二 React Router5 路由的基本使用 中的项目 首先从react中引入lazy import lazy from react 修改引入路由组
  • 【Windows API】获取卷标、卷名

    1 卷 gt 卷标 使用FindFirstVolume 和FindNextVolume 函数体系 枚举系统所有卷 Volume 的例子 然后获取卷标 卷类型 这个方式可以枚举出没有驱动器号 卷标 的卷 int TestMode1 HANDL
  • 国信证券笔试题总分120分

    国信证券笔试题总分120分 1 选择题60分 20题 单选 10 每题3分 多选 10 每题3分 2 业务题 每题4分总共20分 2 1 post get请求区别 后退按钮 刷新 无害 数据会被重新提交 浏览器应该告知用户数据会被重新提交
  • 微软DeepSpeed Chat震撼发布,一键RLHF训练千亿级大模型

    一键解锁千亿级ChatGPT 轻松省钱15倍 众所周知 由于OpenAI太不Open 开源社区为了让更多人能用上类ChatGPT模型 相继推出了LLaMa Alpaca Vicuna Databricks Dolly等模型 但由于缺乏一个支
  • PostgreSQL数据库性能监控手段之慢SQL、死锁

    之前接触PostgreSQL数据库甚少 此前经常使用mysql db2 直至入职当前某安全公司后 发现数据库都采用PostgreSQL 由于负责性能测试方向 经常需要诊断数据库方面是否存在性能问题 于是整理了PostgreSQL设置慢SQL
  • 接口调用失败,失败原因:在 ServiceModel 客户端配置部分中,找不到引用协定的默认终结点元素

    我的程序中 已经配置了webserivce了 但是无法再开发环境使用 我想拿到测试环境使用 而webservice又只能在开发环境调用 这个时候 为了解决这种尴尬问题 我只能先将就着用开发时的webservice 在我的web config