问题标签 [xml-rpc.net]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
33237 浏览

c# - 如何在 C# 中使用 XMLRPC

我需要从我的 C# 应用程序进行 XMLRPC 调用,但我没有找到任何帮助。当我使用 Ruby 中的 XMLRPC 时,就这么简单:

有没有类似的 C# 库?

0 投票
1 回答
2074 浏览

c# - 在 XML-RPC.NET 中,如何处理直到运行时才知道类型的返回值?

我在 C# 中使用库 XML-RPC.NET 在我的服务器上调用 XML-RPC 方法。当一切正常时,该方法返回一个字符串,但当发生错误时,它返回一个 XmlRpcStruct。

当我得到不同于我在方法签名中指定的返回类型时,XML-RPC.NET 引发了异常:

异常消息:“响应包含预期字符串的结构值”

在 XML-RPC.NET 的文档中它是这样说的:

“我如何指定直到运行时才知道类型的数据?

有时,直到运行时才知道参数、返回值或结构成员的类型。在这种情况下,应使用 System.Object 数据类型。对于返回值,实际类型可以在运行时确定并适当处理。”

所以我将返回类型更改为对象,现在它可以工作了。但是现在我不知道如何处理返回值。如果它是 XmlRpcStruct 类型,我不想将它转换为我的错误类。否则我把它当作一个字符串。如何将其转换为我的错误类?XML-RPC-NET 是否有转换方法或我可以调用的方法?

然后当我调用该方法时:

有没有更简单的方法来做到这一点?我可以将我的方法设置为字符串的返回类型,然后尝试/捕获方法调用,但随后我丢失了错误中返回的状态消息。

0 投票
2 回答
1995 浏览

proxy - Clickonce 自动检测代理

我创建了一个使用 xml rpc 进行通信的 C sharp Wpf ClickOnce 应用程序。我的很多用户以不同的方式获得代理设置。有些使用 pac 文件,其他来自 IE 或 dhcp 等。我想在任何类型的环境中自动化获取代理详细信息的整个过程。我尝试了很多不同的代码片段,但想听听这样的东西是否已经存在。

我看到 Xml Rpc 文档有一个 setProxy 方法,但我不确定如何指定用户名或密码(如果使用的话)。这整个过程对我来说仍然有点混乱。

我还尝试了许多不同的代码,包括 WebProxy 类和使用 DefaultCredentials、DefaultProxy、GetSystemWebProxy 等。

目前,我将尝试使用 winhttp 进行 dllimport 以获取代理设置。我不确定是否可以在 Clickonce 部署中执行此操作。dllimport 是否与 p/invoke 相同?

如您所见,我将不胜感激有关如何获取任何类型的代理设置的建议。

感谢任何反馈。

0 投票
0 回答
154 浏览

c# - XML-RPC.NET 在同一方法中有两个不同的结果

我需要使用一个 XML-RPC 服务器,该服务器的方法根据进程的成功或失败返回不同的类型。

现在我正在使用来自http://xml-rpc.net/的 xml-rpc 库

我的代理看起来像这样:

ReturnStatusResult 是:

和 ReturnStatusDetail:

如果调用 CreateFreeAccount 成功,服务器将返回 ReturnStatusDetail[]。但如果 CreateFreeAccount 失败,则返回一个 ReturnStatusResult。

说了这么多,有谁知道解决这个问题的方法吗?

我试图通过将 CreateFreeAccount 返回类型设置为对象来寻找一种推迟类型绑定的方法,但我找不到 xml-rpc.net 解析器方法。

0 投票
2 回答
2853 浏览

c# - XML-RPC 超时?

我正在尝试使用 C# (.NET 3.5) 中的 XML-RPC Web 服务。如果它在 15 秒内没有响应,我希望请求超时,以便我可以尝试联系备份 Web 服务。

我正在使用CookComputing.XmlRpc客户端。

0 投票
1 回答
868 浏览

c# - 使用 XML-RPC.NET 在参数中传递 CDATA

我想使用包含以下片段的 XML 请求调用 XML-RPC Web 服务的方法:

为此,我使用 XML-RPC.net 代理并将过滤器参数作为字符串传递:

ReportParams 被定义为一个结构。

问题是 XML-RPC.Net 解码过滤器字符串中的 XML。以下片段被发送到服务器:

有没有办法将 CDATA xml 片段作为参数逐字传递给 XML-RPC.Net?

0 投票
1 回答
238 浏览

wpf - 如何在 UI 中显示 XML-RPC.Net Server 实例数据?

我们最近尝试在我们的项目中使用 XML-RPC.Net 库。服务器(.Net Remoting)和客户端都是根据我们在http://xml-rpc.net/上找到的说明制作的。

连接已经建立,我们从服务器获取数据等等。

正如标题所述,现在,我们想知道如何使在第一次客户端调用之后创建的 XML-RPC 服务器实例能够向 WPF UI 提供反馈。我们想要完成的是在服务器属性上注册一个事件,以便调用可以到达 UI 线程。

我们对这方面的任何建议持开放态度。

这是在服务器端注册频道的代码:


这是显示在 UI 上创建 Server 实例后我们希望如何设置属性的代码:


使用的技术:VS2012、WPF 4.5 和 XML-RPC.NET 2.5.0

提前致谢

0 投票
1 回答
1314 浏览

c# - 如何使用 XML-RPC.NET 为方法定义可选参数

我正在使用XML-RPC.NET library在 C# 中开发 XML-RPC 服务。该服务将用于向 Tapatalk 用户公开一个论坛

Tapatalk API 文档说明了应该实现哪些方法。有时参数被指定为可选的。

例如get_topic有 4 个参数:forum_id, start_num,last_nummode

该方法由 Tapatalk 应用程序使用所有参数或仅前 3 个参数调用(因此mode被省略)。

我定义的方法如下:

当使用指定的所有 4 个参数调用该方法时,一切顺利。当mode被省略时,我收到以下错误:Request contains too few param elements based on method signature.

将模式指定为可选参数似乎并不能解决问题:

尝试重载该方法会导致此错误:Method GetTopic in type Mobiquo has duplicate XmlRpc method name get_topic

知道如何将参数指定为可选参数吗?

尼尔斯

0 投票
0 回答
111 浏览

c# - SEHException on new development box, simple XML-RPC.net C# web service

我用 C# 编写了一个使用 XML-RPC.net 库的应用程序。该应用程序非常简单,除了 XML-RPC 之外几乎没有做任何事情,一些 Powershell 模拟、一些文件生成和一些身份验证。

这个应用程序在一堆 2012 R1 机器和一些 2008 R2 机器上运行没有问题。最近,我添加了一些额外的 XML-RPC 服务,并将开发转移到运行 Visual Studio 2013 的 2012 R2 机器上(从 2012 年开始)。

立即,在使用 IIS 的外部实例进行调试时,我开始看到“SEHException - 外部组件已引发异常”的实例,或者偶尔会出现访问冲突。这总是在应用程序处于休眠状态时运行,而不是在进行 XML-RPC 调用时。

我想我是一名脚本编写者和工程师,而不是一名程序员,并且我并不为我的专业知识在别处感到羞耻。我读了很多关于如何抛出有关 SEHException 的更多信息的文章,并且正准备在这里发帖寻求一些指示,但我遇到了一个相当模糊的建议,即有人通过将他们的应用程序编译为 x86 解决了几乎相同的问题,而不是任何 CPU。显然这不是一个修复,但我认为它可能会给我一些额外的信息,所以我尝试了它,崩溃完全消失了。

在此应用程序正在运行的所有其他情况下,它已被编译为任何 CPU,并且应用程序池已禁用 x86。

紧抓着稻草——但除了我在同一飞跃中迁移到 Windows 2012 R2 和 Visual Studio 2013 之外,这个新的开发盒还有更多的 RAM——256GB。

作为控制,我构建了一个 8GB RAM 的 2012 R2 机器,安装了 Visual Studio,开始在 Any CPU 中调试……完全没有崩溃。

我在具有 256GB RAM 的盒子上运行了完整的内存测试 - 没有问题。它也没有显示任何其他问题。

它具有相同的 IIS、.NET 和 Visual Studio 补丁级别。

我很欣赏这是一个最广泛的问题,没有代码示例,但希望这还可以。我真的在寻找一些关于如何更好地了解这一点的指针或方向,因为我讨厌不理解事物。

在寻找获取有关 SEHException 的更多信息的方法时,我遇到的难题是,这是一个 Web 服务,我无法可靠地生成异常,它不是通过显式调用方法或任何东西来引发的。仅当 Web 服务正在运行时。

非常感谢任何帮助。

0 投票
1 回答
403 浏览

c# - 路由被映射到不同路由的参数

我正在尝试为我的 ASP.NET MVC 5 项目设置一些路由。

  • 我定义了自定义路由来获得不错的博客文章永久链接——这些似乎工作正常
  • 我添加了一个 XmlRpc 处理程序(类似于在Mads 的 MiniblogScott 的帖子中的处理方式)

现在我有一些奇怪的行为:

  • /Home/About路由正确
  • /Home/Index被路由到/XmlRpc?action=Index&controller=Blog
  • /HOme/Index有效(是的,我发现这是由于拼写错误)——我一直认为路线不区分大小写?
  • 使用Url.Action("Foo","Bar")也会创建/XmlRpc?action=Foo&controller=Bar

这是我的RouteConfig文件:

这就是 的定义MetaWeblogRouteHandler

基本上我想要通常的 ASP.NET MVC 路由行为 (/controller/action) + 我为永久链接定义的自定义路由 + 通过 XmlRpc 处理程序仅在 /XmlRpc 处理 XML-RPC。

由于参数与路由中定义的参数相同,Default我尝试删除路由,但没有成功。
有任何想法吗?

更新:
调用时/Home/Index设置AppRelativeCurrentExecutionFilePath合法"~/XmlRpc"选择XmlRpc 路由。请求似乎有什么问题?

更新 2 :除了一种情况外,问题都解决了:当通过 Visual Studio 启动 IE 进行调试时,它仍然失败。在其他所有情况下,它现在都可以工作(是的,我检查了浏览器缓存,甚至在另一台机器上尝试过,以确保;IE 从 VS = 失败开始,所有其他组合都很好)。无论如何,因为它现在适用于最终用户,所以我暂时感到满意;)