Tag: web services

使用net tcp的WCF双工服务:“需要流安全性……”

我正在编写一项服务,允许用户注册并在事件发生时接收通知。 我正在尝试使用netTcpBinding执行此操作,但即使在本地计算机上运行时也会遇到错误。 当我尝试发送通知时,我超时,收到此错误: http://www.w3.org/2005/08/addressing/anonymous需要Stream Security,但没有协商安全上下文。 这可能是由远程端点从其绑定中丢失StreamSecurityBindingElement引起的。 为了测试我在一个控制台中托管服务,它正在为我打开,我可以看到WSDL并在其上运行svcutil。 当我运行客户端时,尝试发送通知是在上面的错误出现时。 主机App.config: 这是客户端App.config: 我省略了很多注册码,因为我现在只是想让通知正常工作。 计划是在2003 Server中的Windows服务中托管它,该服务不属于客户的域(他们的设置),客户端计算机将位于客户的域中。 编辑: 我已将绑定添加到主机的App.config: 这仍然是错误,具有相同的Steam Security是必需的错误消息。 在新解决方案中尝试此应用的一小部分。

Web服务请求调用SOAP请求缺少空参数

我是Web服务和C#的新手,所以如果我的问题太简单,请原谅我。 我已经四处搜索但找不到答案 – 至少有一个基于我的关键字。 我试图通过C#(Visual Web Developer 2010 Express)调用Web服务,但我收到错误作为响应。 当我通过soapUI调用相同的Web服务时,我没有收到错误。 当我将来自C#的SOAP请求与来自soapUI的SOAP请求进行比较时,C#SOAP请求缺少故意为空的参数 。 当我从soapUI请求中取出空参数时,我得到相同的错误。 对我来说,答案是让C#发送参数,即使它是空的。 我通过将其设置为null或“”来尝试此操作,但无济于事。 有没有办法强制我的C#Web服务客户端发送一个空参数或者可能发送所有参数,即使它们没有值? WSDL C#SOAP(不起作用) edmsdev my_acl spoonyfork my_password edmsdev soapUI SOAP(作品) edmsdev my_acl spoonyfork my_password edmsdev EDRSearch XSD C#代码 ServiceReference1.UserCredentials uc = new ServiceReference1.UserCredentials(); uc.userName = “spoonyfork”; uc.password = “my_password”; uc.docbase = “edmsdev”; ServiceReference1.ACLUsersRequest aurt = new ServiceReference1.ACLUsersRequest(); aurt.aclName = “my_acl”; […]

使用SOAP请求中的自定义字段实现WSSE安全标头时出现C#运行时错误

我正在尝试将SOAP请求发送到使用WSSE和UsernameToken进行身份validation的Web服务。 示例查询如下(屏蔽机密数据): abc 123 12345678901 我使用WSE 3.0生成了一个代理类,问题是我收到错误:“对象引用没有设置为对象的实例。” 我的C#代码中有问题的部分如下: queryNoSorguType q = new queryNoSorguType(); string query_parameter = query_no; q.queryNo = query_parameter; ResultType[] r = new ResultType[10]; UsernameToken token = new UsernameToken(“abc”, “123”,PasswordOption.SendPlainText); //mWebService.SetClientCredential(token); //Policy webServiceClientPolicy = new Policy(); mWebService.RequestSoapContext.Security.Tokens.Add(token); //mWebService.SetPolicy(webServiceClientPolicy); //r = mWebService.documentQuerybyQueryNo(q); System.Data.DataTable outputDataTable = new System.Data.DataTable(); //System.Data.DataRow outRow = outputDataTable.Rows.Add(); //outRow[“field1”] = r; output […]

从.NET应用程序中使用OTRS TicketConnector

我想在.NET应用程序中使用OTRS TicketConnector webservice。 通常,连接到Web服务的最简单方法是通过“添加服务引用”导入其WSDL。 不幸的是,OTRS TicketConnector不发布WSDL。 我在这里找到了TicketConnector的自定义WSDL。 但是,当我尝试在“添加服务引用”中使用它时,它会导致一个空的Reference.cs显示以下错误: Cannot import wsdl:portType Detail: An exception was thrown while running a WSDL import extension: System.ServiceModel.Description.XmlSerializerMessageContractImporter Error: There was a problem loading the XSD documents provided: a reference to a schema type with name ‘OTRS_TicketCreate’ and namespace ‘http://www.otrs.org/TicketConnector/’ could not be resolved because the type definition could not […]

为什么我们无法在ASMX Web服务中返回List ?

由于开发人员知道我们无法使用Web服务返回List ,因此我们只能将列表转换为.ToArray(); 我搜索了一些,但无法得到有效的答案为什么我们不能用网络服务重新列出List。 为什么我们必须将它们转换为ToArray(); ?

从Web服务器加载html页面时,HtmlAgilityPACK显示错误“不支持给定路径的格式”

我正在使用我的本地Apache服务器,其地址是127.0.0.1。 我尝试使用HTML Agility PACk从该服务器加载html页面到C#程序,但它的显示 错误:不支持给定路径的格式。 HtmlAgilityPack.HtmlDocument docHtml = new HtmlAgilityPack.HtmlDocument(); docHtml.Load(@”htttp://127.0.0.1/2.htm”); // <— error pointer showing here foreach(HtmlNode link in docHtml.DocumentNode.SelectNodes("//a[@href]")) { link.Attributes.Append("class","personal_info"); } docHtml.Save("testHTML.html"); } 非常感谢@Slaks在你提出建议之后我改变了我的COED并且工作正常 HtmlAgilityPack.HtmlDocument docHtml = new HtmlAgilityPack.HtmlDocument(); HtmlAgilityPack.HtmlWeb docHFile = new HtmlWeb(); docHtml = docHFile.Load(“http://127.0.0.1/2.html”);

我在便携式类库中使用HttpClient获得403

我有一个PCL,WP和WinStore项目。 在PCL项目中,我有一个使用此方法的类: private async Task GetIpAddress() { const string url = “http://www.ip-adress.com/”; const string buscar = “Your IP address is:”; var client = new HttpClient(); var data = await client.GetStringAsync(url); if (data.IndexOf(buscar, StringComparison.Ordinal) <= -1) return; var IpAddress = data.Remove(0, data.IndexOf(buscar, StringComparison.Ordinal) + buscar.Length + 1); IpAddress = IpAddress.Remove(IpAddress.IndexOf("”, StringComparison.Ordinal)); return IpAddress; } 当我在Windows Phone项目上调用该方法时,工作完美,但不在Windowsapp […]

使用RestSharp发布数据时序列化对象

我最近开始使用RestSharp来使用使用XML的REST服务。 它使得从XML反序列化对象变得无关紧要。 但我的问题是,在回发到服务时重新排序的最佳方法是什么? 我应该使用LINQ-to-XML进行重新序列化吗? 我尝试使用Serializeable属性和SerializeToXml实用程序函数,但是当我这样做时,似乎打破了RestSharp执行的反序列化。

GetRoomLists成功但不返回任何数据

我使用Exchange Web服务调用GetRoomLists,我们正在运行Exchange 2010.以下代码正在通过控制台应用程序执行。 根据“无错误”的XML响应,调用成功,但不返回任何数据。 当您尝试通过Outlook约会添加一个时,我们列出了几百个房间,因此不确定为什么会发生这种情况。 我尝试使用EWS DLL版本1.2和2.0,使用默认凭据或传入凭据。 我注意到在最初发布之后,响应标题显示我们正在使用Exchange 2012 SP2,所以我尝试更新我的代码以使用该ExchangeVersion枚举值,但结果没有变化。 我已成功在此Exchange服务器上使用EWS来读取邮箱,但从未在之前使用过房间。 C# ExchangeService es = new ExchangeService(ExchangeVersion.Exchange2010); es.TraceFlags = TraceFlags.EwsResponse | TraceFlags.EwsRequest; es.TraceEnabled = true; es.UseDefaultCredentials = true; es.AutodiscoverUrl(“autodiscover@example.com”); //this collection is empty after processing EmailAddressCollection eac = es.GetRoomLists(); 来自Web服务请求/响应的XML跟踪 NoError GetRoomLists上的MSDN文档: http : //msdn.microsoft.com/en-us/library/dd899416( v = exchg.140) .aspx

为什么AppDomain.CurrentDomain.GetAssemblies()在某些条件下不返回Global.asax中的依赖程序集?

编辑 :此前称为“IIS重新启动和应用程序初始化之间的应用程序初始化行为”。 我已经更改了标题,以便从IIS /应用程序初始化中扩展问题,因为观察到的行为与AppDomain.CurrentDomain.GetAssemblies(); 我正在使用IIS应用程序初始化模块来预热asmx wed服务。 我已经实现了一些预热代码,以确保应用程序应用程序初始化成功JIT是我在Global.asax Application_Start事件中的asmx服务。 这使用System.Runtime.CompilerServices.RuntimeHelpers.PrepareMethod()来遍历应用程序中的所有程序集(它还会获取所有程序集依赖项),以确保第一次调用服务的速度尽可能快。 当我使用“net stop w3svc&net start w3svc”来观察这种行为时,我可以看到(通过记录)所有程序集都是JIT,并且第一次调用服务的速度很快。 但是,当应用程序池在其配置的时间表(03:00:00)上自动回收时,日志仅显示直接引用的程序集是JIT,而不是也位于文件夹中的依赖项。 这导致第一次调用服务时产生不可接受的开销。 App Init在所有其他方面完全按预期执行,但为什么IIS重新循环应用程序池只有JIT编译直接引用的程序集而不是它的依赖项?