问题标签 [webservice-client]
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.
c# - 调试 C# web 服务客户端
我在使用 C# webservice 客户端调用 ASP.NET 2.0 webservice 时遇到了一个奇怪的问题。该服务是一个简单的产品搜索并返回与搜索词匹配的产品数组 - 请参阅下面 WSDL 文件的相关部分。
我的 C# 客户端只是通过在 VS2010(非 WCF)中添加 Web 引用生成的,为了进行比较,我使用的是 Axis 1.4 Java 客户端。
在 C# 和 Java 客户端中使用相同的搜索参数,调用返回 50 个产品,但在 C# 客户端中,结果数组的长度为 1,而 Java 客户端显示正确的 50 个元素。
我正在寻找如何定位问题的建议 - 我尝试了以下方法:
- 使用 TCP/IP 监视器比较 Web 服务返回的 XML:XML 看起来与 C# 与 Java 相同,并且包含 50 个产品
- 使用 netcat 比较 HTTP 参数:C# 默认为 HTTP 1.1,而 Axis 1.4 使用 HTTP 1.0,但将 C# 客户端也更改为使用 HTTP 1.0 并没有改变任何内容
- 尝试 SOAP 1.2 而不是 SOAP 1.1:没有效果
- 尝试使用 HttpGetProtocol、HttpPostProtocol 代替 Soap
任何建议都受到高度赞赏。
编辑:完整的 WSDL 和生成的代码(Reference.cs)可以在这里找到:http:
//timmay.dk/Reference.txt
http://timmay.dk/Wsdl.txt
简化的 WSDL 部分:
java - 从 java WS 生成 WSDL
给定一个公共 SOAP Web 服务并且没有 WSDL,我需要构建一个可以与该服务通信的 .NET 客户端。
我是一个 .NET 开发人员,正在寻找一种简单的方法来在给定这个 url 的情况下生成 WSDL 文件?我更喜欢直接从我的 Windows 开发机器上使用一些工具来执行此操作,但我发现的唯一东西是 Apache CXF 或 Axis2 中的 javatowsdl 工具。是否有任何工具(商业或其他)可以做到这一点?我真的希望不要手动编写自己的 WSDL。
如果我必须走 javatowsdl 的路线,是否可以使用此工具而无需设置服务器来运行 apache/tomcat 等?有人知道实际完成这项工作所需的步骤吗?
更新: 此 KB 描述了通过 wsdl.exe 或 VS 生成代理,这两者我都做过。这个 KB 的有趣部分是顶部的部分,它首先提到使用 IBM 的 WSTK 来获取 WSDL。WSTK 不再存在,我正在寻找替代品。 http://support.microsoft.com/kb/307324 希望这有助于澄清一些事情。
delphi - 在 Delphi 的单独线程中运行 WebService 的问题
我从来没有在任何社区问过问题,因为我总是自己解决问题或者可以在网上找到问题。但是有了这个,我走到了死胡同,需要帮助!说得很清楚——我转换了一个简单的应用程序,在别处找到,使它使用 Tthread 对象。这个想法很简单——应用程序使用 web 服务在线检查,通过 THTTPRIO 组件,天气并将结果放在 Memo1 行中。
单击 Button1,我们以标准方式完成它——使用放在 Form1 上的 THTTPRIO(它在此处称为 htt,就像在原始应用程序中一样)并使用主线程和唯一线程。
点击 Button2——我们使用 TThread 类
在 WeatherThread1 单元中的执行过程中,我输入了以下代码:
...和 GetForecast 代码:
过程 ShowWeather 在 Form1.Memo1 中显示结果。现在有一个问题:在主线程中,单击 Button1,一切正常。当然,当 HTTPRIO 组件进行通信时,它会冻结表单。
使用 Button2,我将代码放在单独的线程中,但它不想工作!奇怪的事情发生了。当我启动应用程序并单击 Button2 时,使用 HTTPRIO 组件时出现错误。但是当我点击 FIRST Button1 和 AFTER Button2 时它可以工作一段时间(但它可以工作一段时间,只点击 5-7 次)。我想我做错了什么,但无法弄清楚问题出在哪里以及如何解决它。看起来线程单元中的代码不是线程安全的,但它应该是。请帮助如何使 HTTPRIO 在线程中工作!!!
您可以在此处找到压缩后的完整代码。
c# - 使用具有不同端点 URI 的 C# 服务参考 SOAP 客户端
我有一个可在多个服务器上使用的 SOAP Web 服务,因此具有多个端点。我想避免添加多个具有不同名称的服务引用(C# SOAP 端口客户端)只是为了与此服务通信,因为 API 完全相同。
有没有办法在运行时配置端点 URI?
java - 使用 WSDL 从 Java 调用 .net Webservice
我正在尝试使用来自 Java 的 wsdl 在 .net 中调用 webservice。我正在尝试在 Eclipse Galileo SR2 中使用 Apache Axis 2 创建客户端存根。Netbean 6.9 也有同样的例外。
我在 web 服务中重载了“AddOrgService”方法。看起来它正在制造一个问题。
有什么解决办法?
但我得到以下异常:
.net - 从自己的脚本语言动态调用 SOAP 服务
我的应用程序有自己的脚本语言,我无法摆脱它(编写了大量客户特定的脚本)。现在我的客户询问是否可以从该脚本语言中调用 SOAP 服务。当然,每个客户需要调用的 SOAP 服务会有所不同。这给我留下了几个选择:
- 使用 WSDL 实用程序生成特定于客户的 SOAP 客户端代理并将特定于客户的逻辑放入我的应用程序中
- 使用 WSDL 实用程序生成特定于客户的 SOAP 客户端代理,将特定于客户的逻辑放入特定于客户的 DLL 中,并预见一个插件系统,应用程序可以在其中以通用方式调用插件
- 编写一个动态生成 SOAP 调用的通用模块
在我的情况下,前两个选项不是真正的选择,因为我不希望应用程序中有任何客户特定的逻辑或客户特定的 DLL。
对我来说,从长远来看,第 3 个选项是最好的,因为它允许我的顾问同事通过我的脚本语言调用 SOAP 服务,而无需进行任何客户特定的开发。向我的脚本语言动态添加函数不是问题,生成动态 SOAP 调用是问题。
我首先查看了 WSDL 实用程序的输出。然后我开始删除东西,直到它不再起作用。以下代码仍然有效:
通过设置 Url 属性可以动态地设置 Web 服务的 URL,但是我找不到使方法名称动态的方法。
添加这样的通用方法似乎仍然有效:
但是一旦我删除 GetPrimeNumbers 方法,调用就不再起作用并报告以下错误:
此外,更改 SoapDocumentMethodAttribute 属性中的 Web 服务名称(例如,更改为 GetPrimo)也会产生同样的错误。
因此,我的问题:
- 继续走这条路是否有意义,即查看 WSDL 生成的逻辑试图“概括”对(任何)SOAP 服务的调用,或者这根本不会起作用?
- 还有其他以动态方式(使用.Net)生成 SOAP 调用的好方法吗?
- 或者是自己创建 XML(Soap Envelope)以进行 SOAP 调用的唯一方法?
- 有没有机会找到一些我可以继续工作的示例代码?
在此先感谢,帕特里克
javascript - jsonp内存泄漏
所以我最近设置了一个 chrome 扩展来刷新页面并调用我编写的 jsonp Web 服务,但存在内存泄漏。我已经搜索了所有互联网以找到解决方案,但似乎没有任何效果。我使用了指定“jsonp”的普通 jQuery .ajax() 调用,我使用了http://code.google.com/p/jquery-jsonp/上的 jquery-jsonp 以及许多其他方法。 ..我无法让内存泄漏消失。有人可以指出我正在寻找的示例或指向正确方向的示例吗?我只需要看到一个脚本不断调用 jsonp 调用而不泄漏内存。
运行我的代码时,在我到达此代码之前没有泄漏:
如果我将该代码替换为:callback({ "d": "1", "pickCount": pickCount });
那么泄漏就会消失。
tomcat - 在 tomcat 中部署 FLEX3 应用程序
我有一个 FLEX3 应用程序 - 我为它创建了一个版本并将它保存在我的 tomcat webapps 文件夹中。这个 Flex3 应用程序使用托管在同一个 tomcat [轴 Web 服务] 上的 Web 服务。这就是我在 Flex 代码中定义它们的方式:
当我尝试使用 localhost 从浏览器访问应用程序时,我可以。当我尝试使用 IPAddress 从同一台机器上的浏览器访问应用程序时,只打开了主页,并且没有调用任何 Web 服务。
web-services - 使用轴和 maven 访问 Web 服务
我试图弄清楚如何使用 Axis 访问 Java 中的 Web 服务。
据我了解,这是我需要做的:
- 使用 WSDL File + Axis 工具生成 Java 文件。
- 编译和打包生成的 Java 文件,然后通过在这些对象上使用连接方法来使用这些对象。
在尝试这样做时,这就是我卡住的地方:
我从http://www.service-repository.com/中选择了一个随机 Web 服务, 我以下列方式使用了 axistools-maven-plugin:
这是问题:
我可以成功运行 mvn generate-sources 并且它确实生成了 Java 文件。但我似乎无法编译这些 Java 文件。当我运行 mvn clean install 时,它给了我一堆编译错误。我错过了什么步骤?
c# - .NET Web 服务 - 管理 Web 请求
我有一个 .NET WeBService 项目和另一个项目对它的引用。Visual Studio 使用我的 Web 服务的所有方法生成一个代理类 (SoapHttpClient)。我使用 WebService 的项目是一个 .NET CF 移动应用程序。这意味着 Internet 访问和 WebService 并不总是可用。我需要做的是确保从移动设备到 Web 服务的所有请求最终都会到达它。我想通过在串行执行 Web 请求的工作线程中对 WebService 的所有请求进行排队,直到执行成功。问题是生成的代理类具有命名的所有 Web 方法。没有一种机制可以从我可以存储供以后使用的方法中“提取”通用“Web 请求对象”。我必须使用它们的名称和参数显式调用 Web 方法。这使我的代码复杂化。我的问题是 - .NET WebServices 中是否有一种机制可以将 Web 请求“提取”为对象,然后再使用它?
问候
多米尼克