Tag: web services

Web服务方法返回Response对象而不是自定义对象

我有以下代码: [WebMethod] [SoapHeader(“_webServiceAuth”)] public User GetUser(string username) { try { this._validationMethods.Validate(_webServiceAuth); User user = new User(username); return user; } catch (Exception ex) { throw ex; } } 正如您所看到的,当我这样做时,人们会期望接收用户作为响应: myUser = this.Service.GetUser(username); 但我得到的是一个“GetUserRequest”实例的请求,并返回一个“GetUserResponse”实例。 为什么我的web服务没有发送我的对象的任何帮助?

将数据从Web表单发送到winforms

您好我必须开发一个应用程序,其中我能够从我的webform发送一些数据(通知)到Windows窗体,同样从winform到webform。 有人告诉我,我必须为此目的使用Web服务。 所以,如果有人请告诉我,我该怎么做? 我为此目的使用C#。

BufferNotEnough无法创建SSL / TLS安全通道

有时我们收到错误“请求被中止:无法创建SSL / TLS安全通道..”我试图调查此问题,我得到的跟踪日志是: System.Net Information: 0 : [4356] InitializeSecurityContext(In-Buffers count=2, Out-Buffer length=0, returned code=**BufferNotEnough**). System.Net Error: 0 : [4356] Exception in HttpWebRequest#37434592:: – The request was aborted: Could not create SSL/TLS secure channel.. System.Net Error: 0 : [4356] Exception in HttpWebRequest#37434592::EndGetRequestStream – The request was aborted: Could not create SSL/TLS secure channel.. 对于这种情况, BufferNotEnough是什么意思? 谢谢。

Asp.net webservice:提示指纹读取器

我正在使用mootools库来调用asp.net应用程序中的webservices。 其中一个Web服务用于在数据库中创建新用户。 我创建了一个带有mootools的html对话框,用户可以在提交时输入他的详细信息,用户名,密码等等,调用Web服务。 我们有一个带有.net SDK的指纹扫描仪。 在保存用户在html对话框中输入的详细信息之前,我是否可以在Web服务中提示用户进行指纹打印? 请注意,指纹扫描仪和asp应用程序将在一台计算机上提供,以便创建新帐户用户将使用此电脑管理员附近。 我在想类似下面的事情: [WebMethod] [ScriptMethod(ResponseFormat = ResponseFormat.Json)] public string NewMember(parameters) { JavaScriptSerializer js = new JavaScriptSerializer(); try { Database db = new Database(); //Prompt and get finger print from user //create user db.CreateNewMember(parameters with finger print code) 谢谢

使用Sap WebService – 请求发送两次并且每次都失败

我正在努力消耗一个sap webservice。 我已经通过很多教程和msdn上的许multithreading,但我无法找到解决我的问题的方法: 运行我的程序最终会出现此错误: CommunicationException not handled. -> unknown Messageversion System.ServiceModel.CommunicationException wurde nicht behandelt. HResult=-2146233087 Message=Unbekannte Nachrichtenversion. Source=mscorlib StackTrace: Server stack trace: bei System.ServiceModel.Channels.ReceivedMessage.ReadStartEnvelope(XmlDictionaryReader reader) bei System.ServiceModel.Channels.BufferedMessage..ctor(IBufferedMessageData messageData, RecycledMessageState recycledMessageState, Boolean[] understoodHeaders, Boolean understoodHeadersModified) bei System.ServiceModel.Channels.TextMessageEncoderFactory.TextMessageEncoder.ReadMessage(ArraySegment`1 buffer, BufferManager bufferManager, String contentType) bei System.ServiceModel.Channels.HttpInput.DecodeBufferedMessage(ArraySegment`1 buffer, Stream inputStream) bei System.ServiceModel.Channels.HttpInput.ReadBufferedMessage(Stream inputStream) bei System.ServiceModel.Channels.HttpInput.ParseIncomingMessage(HttpRequestMessage httpRequestMessage, Exception& requestException) bei […]

从Windows窗体访问asmx服务会产生最大请求长度错误

我尝试使用Windows窗体中的asmx服务上传文件。 我在web.config中指定了最大请求长度,其中托管了asmx服务。 当我尝试从托管asmx服务的Web表单上传文件时,该服务运行良好。 现在的问题是,当我尝试使用Windows窗体上传文件时,它给出了最大请求长度错误。 windows应用程序的app.config代码如下: 我增加了maxbufeerlenth等的大小,但它不起作用。 我尝试上传的文件大小仅为7 MB 对于较小的文件(小于1 MB),没有问题。 我要添加的另一点是我在Windows窗体中添加一个服务作为“添加服务参考向导”。 任何帮助表示赞赏。

如何在ASP.NET / WCF中定期执行某些操作?

首先抱歉提出这样一个愚蠢的问题,我是asp.net的新手。 所以,我应该定期做一些事情,说我是网站heartpatients.com的所有者(假设),我希望每个访问该网站的网站用户都能在2小时后显示一条消息“拿你的药”。 所以,基本上这都是我的问题,我应该在每2小时(或4,6之后的任何时间)之后显示此消息,我也可以如何自定义时间。 还有一件事,比如我在WCF服务中有这个方法,它显示了这条消息,如何在特定时间调用该服务,甚至用户配置(比如有人在10小时后吃药?)那么如何在用户指定的时间之后定期调用该服务(服务中的特定方法)? 我希望我的问题很清楚。 任何帮助表示赞赏。

如何在C#客户端中使用Stream而不是byte 和Java MTOM Web服务

我有一个使用CXF生成的java webservice,并启用了MTOM。 在java方面,我使用DataHandler而不是byte []来发送一个大文件。 如果我生成一个Java客户端,它工作正常,在客户端也声明DataHandler。 问题是当我尝试创建一个C#.net客户端时。 使用Visual Studio 2010生成客户端代码,它将字段声明为byte []而不是Stream。 这是一个问题,因为在客户端,它正在读取和分配所有数据以填充byte []。 看到一些MTOM和C#的例子,他们使用Strem而不是byte []。 如何生成客户端代码以在C#中使用Stream而不是byte []? 这是使用mtom的wsdl部分: 编辑:我遇到的问题是内存分配。 当用大文件读取大量记录或者用大文件读取记录时,客户端会抛出exception(由于内存分配)。 使用byte []调用web服务,客户端将所有数据加载到内存中,甚至在将结果提供给其余代码来处理它之前。 使用Stream时,我可以访问webservice的结果,并且可以将Stream的内容写入文件,而无需加载到内存中,从而避免内存不足问题。

来自WSDL的详细ServiceDescription / Proxy

我使用ServiceDescription / ServiceDescriptionImporter类来动态调用Web服务。 我想更深入地了解WSDL描述并得到 1)每个Web方法的参数信息 2)所有Web方法的每个参数的实际类型/组成(即,如果WebMethod将某些复杂类型作为参数,我需要知道它由原型/其他类型组成,如果可能的话) 这是动态调用的代码: public static object CallWebService(string webServiceAsmx, string serviceName, string methodName, object[] args = null) { WebClient client = new WebClient(); Stream stream = client.OpenRead(webServiceAsmx + “?wsdl”); ServiceDescription description = ServiceDescription.Read(stream); ServiceDescriptionImporter importer = new ServiceDescriptionImporter(); importer.ProtocolName = “Soap12”; importer.AddServiceDescription(description, null, null); importer.Style = ServiceDescriptionImportStyle.Client; importer.CodeGenerationOptions = CodeGenerationOptions.GenerateProperties; 我已经能够找到一些基本信息,如方法名称,参数信息,但我需要更深入的分析。 例如,我需要访问Wsdl.exe在代理类中生成的基本上所有信息,但我不想运行Wsdl.exe,只是动态发现信息。 […]

在wp7应用程序中的Web客户端请求缓存问题

我创建了一个json web service并在我的网站上使用。 现在我想在我的Windows手机应用程序中使用它来显示该Web服务正在接收的数据。 所以我写下面的代码—> //// some code StartThread(); } void StartThread() { DispatcherTimer TradeThread = new DispatcherTimer(); TradeThread.Interval = TimeSpan.FromMilliseconds(1000); TradeThread.Tick += new EventHandler(BindData); TradeThread.Start(); } void BindData(object sender, EventArgs e) { WebClient wc = new WebClient(); wc.DownloadStringAsync(new Uri(“some URL”)); wc.DownloadStringCompleted += new DownloadStringCompletedEventHandler(wc_DownloadStringCompleted); } void wc_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e) { JObject jsonObject = […]