Tag: web services

Web服务无法在GAC中使用类型创建类型错误

遇到一个不寻常的问题,似乎我喜欢做一些不常见的事情。 我有一个复合控件,它检查我的应用程序的根目录中是否存在给定的Web服务文件,如果不存在,它会在标记中创建带有必要指令的文件以进行滚动,例如: 反过来,它被保存到输出。 完成此步骤后,将启动应用程序池上的回收以在IIS中呈现新页面。 该指令指向的程序集是GAC部署的,但是当ASMX通过IIS提供服务时,由于某些原因被忽略。 如果我将程序集复制到BIN目录中,应用程序工作正常,但是,我想将此解决方案部署为我的SharePoint场中的Web部件更新,并且在我的应用程序中启用了完全信任不是我想要的路径走。 我假设ASMX文件或从GAC部署的程序集中的类inheritance的任何文件被忽略是正确的吗? 我不明白为什么会这样,据我所知,IIS会在BIN中尝试映射程序集,如果找不到,它会去询问GAC是否可以找到它在那里,对吗?

通过webservice api更新Prestashop中的订单状态

我在这做错了什么? 首先,我发出获取现有订单的请求,然后更改检索到的xml中的current_status字段的值。 然后我用修改后的xml作为参数发出一个PUT请求,但我得到这样的响应: 当我调试代码时,在执行之前PUT请求中的xml参数没有问题。 那么’原始XML’显示xml如此编码? 我必须设置某种编码吗? 我的代码是在C#中。

在C#中将asapx webservice中的Soap Request Header从text / xml更改为soap / xml

我需要打电话给网络服务。 我生成了一个代理并调用了该方法。 但它一直都在失败。 因为API在头文件中需要soap / xml,而在Visual Studio中生成的代理客户端在头文件中发送text / xml。 问题:是否可以更改生成的代理客户端的Content-Type标头的值?

API设计:公开XML或对象#2

我最近问了这个问题: 暴露XML或对象 – 感谢所有回复。 有一点需要澄清。 API将始终远程访问(即作为服务),最有可能通过Web服务或WCF访问。 我同意理论上一个强类型API将对象暴露为输入/输出是正确的方法。 但是,我觉得仍有一个论据要暴露XML。 我认为使用XML的原因是: 业务规则可以由Schematron的业务分析师编写。 接口是弱类型的,但只要它被调用,就可以根据数据和业务规则validation数据。 该服务的实现将更简单。 不需要创建域对象模型。 XML模式已经定义(我们有一个模式的数据字典)。 使用Web服务技术意味着基于XML的API不需要随着新车“类型”的添加而改变,例如 void AddNewCar( string newCarXml ) string[] GetCars( /* some query conditions */ ) 如果我们使用基于对象的API,那么添加新类型将需要一个新的查询方法来定义可以返回的可能的派生类型(请参阅扩展Web服务 )。 像这样更新Web服务需要重建和重新部署此服务和所有现有客户端。 基于对象的API给我们带来了什么? 强类型声明性接口。 它不提供比XML更多的抽象(XML本身就是一个抽象)。 基于对象的API的成本是多少? 它需要一整套域对象,这些对象需要业务规则和数据validation。 那么,我的问题是什么? 给我一个不可失败的,无可争议的理由,为什么我应该与对象一起去。

非常简单的网络服务:接受输入,电子邮件结果

我作为数据科学家在一家小型创业公司工作,我正在寻找方法让我的分析对组织更加明显/有用。 我希望能够提供一个简单的Web服务,允许内部用户远程运行我的脚本。 他们应该能够通过一个非常简单的UI输入一些参数,他们应该可以选择让结果出现在浏览器窗口中(经过漫长的等待),或者通过电子邮件发送。 结果可能是几个pdf数字,它们可能是Excel电子表格(未来可能更具异国情调,但现在就是这样)。 这些脚本将全部用于Python,它将处理分析。 所以,我想知道使用C#/ WCF与Django或Python之类的优缺点。 我在这里的客户端代码库中有很多C#工作经验,但我对WCF的经验却少得多。 我的所有分析工作都是用Python(和R,在较小程度上)完成的。 主要目标是不要把我所有的时间都花在构建一个花哨的Web服务/ UI上 – 前端必须足够友好,不要恐吓营销人员。 我不必担心加密,服务器将在我们的防火墙后面。 我非常平台,但我认为服务器都是基于Windows的,如果这有帮助的话。 提前致谢。 为了获得额外的功劳,如果我的一些脚本在F#中,你的答案会如何变化?

将一个相当简单的C#类库转换为COM对象?

这是我的问题:我必须从一个返回复杂数据类型的经典ASP页面调用带有安全头的Web服务。 由于有关第三方工具的各种原因,它必须是经典的ASP。 我们决定创建一个外部dll来做这个 – 我做了(在c#中),所以它返回一个数据集(Something ASP可以理解)。 但是现在我需要将该函数公开给ASP页面。 因为这是经典的ASP,我认为唯一直接的方法是将此类库公开为COM对象。 我需要知道完成此任务的最简单和最简单的方法。 我该怎么处理我的dll? 我之前从未创建过COM对象。 有人说我的class级必须是静态的,我不能有一个构造函数。 这是真的? 有人可以为我布置步骤吗? 救命! (O: 编辑:这个特定问题现在已经解决,但罗伯特罗斯尼指出我无法对经典ASP中的DataSet做任何事情。 这让我在这里发布了第二个关于实现XmlTextWriter的问题 – 罗伯特,如果你看到这个我觉得你真的可以帮忙!

如何关闭Web服务调用的持久连接

从我的WinForms应用程序,我必须调用Web服务,我正在使用Web引用。 到目前为止没有问题,但现在我有一个客户端使用负载平衡器后面的代理背后的软件。 Web服务调用很顺利,但两分钟后它们就失败了。 我们可以通过反复调用间隔小于两分钟的Web服务来解决这个问题。 我发现负载均衡器在没有使用两分钟时会断开tcp会话,看起来这就是我们的情况,软件无法恢复。 如何告知gerenated Web引用为每个Web服务调用使用新的tcp连接?

ExecuteRegisteredAsyncTasks是否释放请求处理线程以服务其他请求?

我注意到从ExecuteRegisteredAsyncTasks调用返回后的代码在与此调用之前的代码相同的线程中执行。 所以我理解手动调用ExecuteRegisteredAsyncTasks并不会释放请求处理线程来为其他请求提供服务,这种方法应该只是自动调用才能获得扩展优势? 在msdn上是示例代码,但帮助不回答这个问题。 UPDATE 就我而言,在PageAsyncTasks我异步调用Web服务(使用Begin *和End *),所以我没有使用线程池。

使用webservices将文档上载到Sharepoint 2013 Online

我有一个客户在Sharepoint 2013 Online中实现客户门户。 当前程序通过邮件将文档分发给客户。 现在我们必须将文档上传到客户门户。 我尝试在sharepoint中使用copy webservice。 我创建了一个测试项目并将webservice添加为Web Reference并编写了以下测试代码: static void Main(string[] args) { string baseUrl = “https://mycustomer.sharepoint.com/sites/”; string customer = “customerportalname”; string serviceUrl = “/_vti_bin/copy.asmx”; string destinationDirectory = “/folder/”; string fileName = “uploaded.xml”; string username = “username@outlook.com”; string password = “password”; XmlDocument xmlDocument = new XmlDocument(); xmlDocument.LoadXml(“voorwielachterwieltrappersstuurframe”); byte[] xmlByteArray; using (MemoryStream memoryStream = new […]

C#如何强制重用经过身份validation的Http连接?

我无法重复使用我的Http连接。 HttpWebRequest.KeepAlive设置没有区别。 我发现这篇文章说如果你有NTLM身份validation,那么使用UnsafeAuthenticatedConnectionSharing = true。 所以我将它设置为true并且仍然具有相同的TCP连接群,并且没有类似于重用.. 有什么想法吗? 对不起,我不知道什么是pastebin。 这是日志的片段我做了2次调用服务。 出于某种原因的第一次呼叫是在没有身份validation的情 响应是未授权和连接:关闭。 然后它由系统重新提交,但不再保持活动状态,响应正常,但仍然是Connection:Close。 不幸的是,出于安全原因,我无法粘贴整个日志。 System.Net Information: 0 : [5988] Associating HttpWebRequest#64923656 with ConnectStream#51393439 System.Net Information: 0 : [5988] HttpWebRequest#64923656 – Request: GET /v1.0/xxxxxx/xxxx/ HTTP/1.1 System.Net.Sockets Verbose: 0 : [5988] Socket#52727599::Send() System.Net.Sockets Verbose: 0 : [5988] Data from Socket#52727599::Send System.Net.Sockets Verbose: 0 : [5988] 00000000 : … […]