首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >使用代理从类项目调用WCF服务

使用代理从类项目调用WCF服务
EN

Stack Overflow用户
提问于 2014-01-31 03:18:41
回答 1查看 1.3K关注 0票数 1

我需要使用来自类项目的双向SSL向外部第三方发出WCF服务调用。我已经将第三方提供的WSDL添加到我的项目中,作为服务参考。问题是,我们域中的所有调用(*.abc.com)都是通过代理服务器进行的。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
http://ironport:8080

这就是我在代码中所做的-

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var binding = new WSHttpBinding();
binding.Security.Mode = SecurityMode.Transport;
binding.Security.Transport.ClientCredentialType = HttpClientCredentialType.Certificate;
binding.BypassProxyOnLocal = false;
binding.UseDefaultWebProxy = true;
binding.AllowCookies = false;
binding.Security.Transport.ProxyCredentialType = HttpProxyCredentialType.None;

var endpoint = new EndpointAddress("https://blablabla.com/GetData.svc");
var client = new AccountClient(binding, endpoint);
X509Certificate2 certi = new X509Certificate2(@"path to pfx file", "password");
client.ClientCredentials.ClientCertificate.Certificate = certi;

我打服务电话时-

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var account = client.ExportAccounts(obj1, obj2, obj3);

它给了我一个错误-

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
The remote server returned an Error (407): Proxy authentication required

这一点很明显,因为我没有提到请求需要通过的代理细节。我需要一种方法,从一个不同项目的web.config文件中添加以下信息到我上面的请求中-

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<system.net>
<defaultProxy useDefaultCredentials="true">
  <proxy proxyaddress="http://ironport:8080" />
  <bypasslist>
    <add address="[\w]+\.abc\.com$" />
  </bypasslist>
</defaultProxy>
</system.net>

有什么方法可以在代码中实现这一点吗?还是我需要用一种完全不同的方式来做这件事?如果我需要更多的信息,请告诉我。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-01-31 08:44:53

您可以尝试使用WebProxy类。没有经过测试,但像这样的东西:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
WebProxy proxy = new WebProxy("http://ironport:8080");
proxy.BypassList = new string[] { "[\w]+\.abc\.com$" };

另一种选择是将配置的相关部分移动到使用类库的应用程序的web/app.config。

添加了

不能100%确定这将有效,但您可以尝试将这一行添加到代码中:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
WebRequest.DefaultProxy = proxy;

摘自这个回答

另一种选择可能是使用WsHttpBindingWsHttpBinding属性(确保在这种情况下将UseDefaultProxy设置为false),但我看不出有什么方法可以添加绕行列表。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21478804

复制
相关文章
python调用wcf服务
# -*- coding: utf-8 -*- from suds.client import Client import json # wcf地址 client = Client('http://w
py3study
2020/01/10
1.3K0
python调用wcf服务 实现网
实现目标: 1.创建一个WCF服务,用于读卡。 再创建一个winform客户端程序,作为WCF的宿主。 WCF服务以 IP+端口的形式对外提供服务。 2.python中安装suds,用于解析 WCF的服务地址。
py3study
2020/01/13
1.8K0
WCF系列教程之WCF客户端调用服务
1、创建WCF客户端应用程序需要执行下列步骤 (1)、获取服务终结点的服务协定、绑定以及地址信息 (2)、使用该信息创建WCF客户端 (3)、调用操作 (4)、关闭WCF客户端对象 二、操作实例 1、
郑小超.
2018/01/26
2.1K0
使用WCF进行跨平台开发之二(IIS托管WCF服务并使用php平台调用)1.系统必备2.在IIS中托管WCF服务3.使用PHP调用托管在IIS中的WCF服务
上一篇中,使用控制台托管了WCF服务,但是如果想从PHP和java平台调用,必须将其托管到IIS中(并不是必须的,还是有其他的方式的 比如windows azure) 1.系统必备      首先,必须打开IIS和WAS,如果没有,可以在控制面板--程序--打开或关闭Windows功能打开。      而后必须的当然是php环境,这就根据您自己的需求配置啦,但是必须注意的是,必须打开php.ini中soap的扩展,步骤是,打开php.ini,搜索php_soap.dll,去掉前面的注释“;”,然后重起php
小白哥哥
2018/03/07
2.1K0
使用WCF进行跨平台开发之二(IIS托管WCF服务并使用php平台调用)1.系统必备2.在IIS中托管WCF服务3.使用PHP调用托管在IIS中的WCF服务
python使用stub模块调用wcf
对官方例子的简单解释:http://ully.iteye.com/blog/1266320
py3study
2020/01/13
6020
Wcf:可配置的服务调用方式
添加wcf服务引用时,vs.net本来就会帮我们在app.config/web.config里生成各种配置,这没啥好研究的,但本文谈到的配置并不是这个。先看下面的图: 通常,如果采用.NET的WCF技
菩提树下的杨过
2018/01/24
1.2K0
Wcf:可配置的服务调用方式
使用C#创建及调用WCF完整实例 (Windows服务宿主)
关于WCF的概念、原理、优缺点等,在这里就不多说了,网上很多,可以自行搜索,比我解释的要专业的多。 这里直接说使用Windows 服务(Windows Service)作为宿主如何实现,其它方式不在此
庞小明
2018/03/12
4.8K0
使用C#创建及调用WCF完整实例 (Windows服务宿主)
菜菜从零学习WCF八(Message类)
Message类是WCF的基本类。客户端与服务之间的所有通信最终都会产生要进行发送和接收的Message实例,通常不会与Message里直接进行交互。相反,您需要使用WCF服务
aehyok
2019/02/25
8450
按照Web Service方式调用WCF服务的问题
WCF按照basicHttpBinding方式发布,.net按照Web Service方式调用,自动生成的Proxy中枚举类型和Nullable类型的参数,在Proxy里面发现一些不一样的东西,都额外生成一个配对的XXSpecified的字段和属性。你必须将该值设为true,否则,WCF序列化的时候回忽略相应的枚举类型或Nullable类型,全部使用的默认值,你所赋的值都被忽略了,只有你将XXSpecified设置为true就可以了。 [TestMethod] public void TestASMXS
张善友
2018/01/22
8100
ASP.NET中使用HttpWebRequest调用WCF
最近项目需要和第三网站进行数据交换,第三方网站基本都是RESTfull形式的API,但是也有的是Web Service,或者.NET里面的WCF。微软鼓励大家使用WCF替代Web Service。 Web Service技术介绍 Web Service是一个平台独立的,松耦合的,自包含的、基于可编程的Web应用程序,可使用开发的XML数据标准来描述、发布、发现、协调和配置这些应用程序,同时用于开发分布式的互操作的应用程序。 WCF技术介绍 WCF是Web Service的升级版本。WCF是Windows C
八哥
2018/01/18
2.4K0
ASP.NET中使用HttpWebRequest调用WCF
WCF技术剖析之二十九:换种不同的方式调用WCF服务[提供源代码下载]
我们有两种典型的WCF调用方式:通过SvcUtil.exe(或者添加Web引用)导入发布的服务元数据生成服务代理相关的代码和配置;通过ChannelFactory<TChannel>创建服务代理对象。在这篇文章中,我们采用一种独特的方式进行服务的调用。从本质上讲,我们只要能够创建于服务端相匹配的终结点,就能够实现正常的服务调用。在WCF客户端元数据架构体系中,利用MetadataExchangeClient可以获取服务的元数据,而利用MetadataImporter将获取的元数据导入成ServiceEndp
蒋金楠
2018/01/16
7670
菜菜从零学习WCF四(承载服务)
我们都知道WCF在运行的时候必须自己提供宿主来承载服务。WCF 本身没有附带宿主,就需要我们自己来依附于宿主而承载WCF服务。
aehyok
2019/02/25
9790
菜菜从零学习WCF三(配置服务)
在设计和实现服务协定后,即可配置服务。在其中可以定义和自定义如何向客户端公开服务,包括指定可以找到服务的地址、服务用于发送和接收消息的传输和消息编码,以及服务需要的安全类型。
aehyok
2018/09/11
8040
菜菜从零学习WCF三(配置服务)
Spring MVC项目使用Feign声明式服务调用
声明式编程范式:声明式编程表明想要实现什么目的,应该做什么,但是不指定具体怎么做。
suveng
2019/09/17
2.8K0
Spring MVC项目使用Feign声明式服务调用
java调用.net asmx / wcf
一、先用asmx与wcf写二个.net web service: 1.1 asmx web服务:asmx-service.asmx.cs 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Web; 5 using System.Web.Services; 6 7 namespace WebServiceSample 8 { 9 /// <summary>
菩提树下的杨过
2018/01/19
1.5K0
java调用.net asmx / wcf
WCF系列教程之WCF服务宿主与WCF服务部署
本文参考自http://www.cnblogs.com/wangweimutou/p/4377062.html,纯属读书笔记,加深记忆。 一、简介 任何一个程序的运行都需要依赖一个确定的进程中,WCF也不例外。如果我们需要使用WCF服务,那么我们就必须将服务寄宿与创建它并控制它的上下文和生存期的运行时环境当中,承载服务的环境,称之为宿主。WCF服务可以在支持托管代码的任意Windows进程中运行。WCF提供了统一编程模型,用于生成面向服务的应用程序。此编程模型保持一致且独立于部署服务的运行时环境。 实际上,
郑小超.
2018/01/26
1.4K0
Visual Studio2019 使用WCF服务
Windows Communication Foundation (WCF) 是一个框架,用于生成面向服务的应用程序。它取代了较旧的进程间通信技术,例如 ASMX Web 服务、.NET 远程处理、企业服务 (DCOM) 和 MSMQ。 WCF 将所有这些技术的功能汇集在一个统一的编程模型下,简化了开发分散式应用程序的体验。 使用 WCF,可以将数据作为异步消息从一个服务终结点发送到另一个服务终结点。 服务终结点可以是由 IIS 承载的持续可用的服务的一部分,也可以是应用程序中承载的服务。 终结点可以是从服务终结点请求数据的服务客户端。 简单消息可以是作为 XML 发送的单个字符或单个单词,复杂消息可以是二进制数据流。
明志德道
2023/10/21
3990
Visual Studio2019 使用WCF服务
WCF系列教程之客户端异步调用服务
本文参考自http://www.cnblogs.com/wangweimutou/p/4409227.html,纯属读书笔记,加深记忆 一、简介 在前面的随笔中,详细的介绍了WCF客户端服务的调用方法,但是那些操作全都是同步的,所以我们需要很长的时间等待服务器的反馈,如何一台服务器的速度很慢,所以客户端得到结果就需要很长的时间,试想一下,如果客户端是个web项目,那么客户体验可想而知,所以为了不影响后续代码执行和用户的体验,就需要使用异步的方式来调用服务。注意这里的异步是完全针对客户端而言的,与WCF服务契
郑小超.
2018/01/26
1.2K0
检测WCF服务是否在线(动态执行WCF服务)
MJ.Zhou
2018/01/04
1.4K0
Git 项目推荐 | javascript ajax 代理调用工具
javascript ajax 代理调用工具 。 AjaxProxy url: /template/default/script/AjaxProxy.js; 接口开发:yangjian 文档编写:yangjian 插件描述: AjaxProxy是一个ajax代理插件,她可以代理a标签发送ajax请求,是其不用跳转,从而达到更好的客户体验。 插件依赖: jQuery-1.7.1以上版本 bootstrap 3 的button.js插件 JDialog 插件消息弹出框 如果需要进行表单提交验证则需要引进 JFo
码云Gitee
2018/03/29
1.7K0

相似问题

WCF服务-代理类

11

使用代理调用WCF

10

使用客户端代理对象从jQuery调用WCF服务

15

WCF数据服务代理类

13

如何从WCF生成XML Web服务代理类

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文