问题标签 [soap]
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.
.net - .NET WCF 错误生成不正确的 SOAP 1.1 错误代码值
我正在尝试使用 FaultException 和 FaultException<T> 来确定我们应用程序中的最佳使用模式。我们需要支持 WCF 以及非 WCF 服务消费者/客户端,包括 SOAP 1.1 和 SOAP 1.2 客户端。
仅供参考:使用带有 wsHttpBinding 的 FaultExceptions 会产生 SOAP 1.2 语义,而使用带有 basicHttpBinding 的 FaultExceptions 会产生 SOAP 1.1 语义。
我正在使用以下代码抛出 FaultException<FaultDetails>:
FaultDetails 类只是一个简单的测试类,它包含一个字符串“Message”属性,如下所示。
使用 wsHttpBinding 时,响应为:
根据 SOAP 1.2 规范,这看起来是正确的。主/根“代码”是“发件人”,其“子代码”为“MySubFaultCode”。如果服务使用者/客户端使用 WCF,客户端上的 FaultException 也模仿相同的结构,faultException.Code.Name 为“Sender”,faultException.Code.SubCode.Name 为“MySubFaultCode”。
使用 basicHttpBinding 时,响应为:
这看起来不对。查看 SOAP 1.1 规范,当我使用 FaultCode.CreateSenderFaultCode(new FaultCode("MySubFaultCode")) 时,我希望看到“faultcode”的值为“s:Client.MySubFaultCode”。此外,WCF 客户端的结构不正确。faultException.Code.Name 是“MySubFaultCode”而不是“Sender”,faultException.Code.SubCode 是 null 而不是 faultException.Code.SubCode.Name 是“MySubFaultCode”。此外,faultException.Code.IsSenderFault 为假。
使用 FaultCode.CreateReceiverFaultCode(new FaultCode("MySubFaultCode")) 时的类似问题:
- 按预期工作于 SOAP 1.2
- 生成“s:MySubFaultCode”而不是“s:Server.MySubFaultCode”,并且 SOAP 1.1 的 faultException.Code.IsReceiverFault 为 false
这个项目也是2006年别人在http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=669420&SiteID=1上发布的,没有人回答。我很难相信还没有人遇到过这种情况。
这是其他人遇到类似问题:http ://forums.microsoft.com/msdn/ShowPost.aspx?PostID=3883110&SiteID=1&mode=1
Microsoft Connect 错误:https ://connect.microsoft.com/wcf/feedback/ViewFeedback.aspx?FeedbackID=367963
故障应该如何工作的描述:http: //blogs.msdn.com/drnick/archive/2006/12/19/creating-faults-part-3.aspx
我做错了什么还是这真的是 WCF 中的一个错误?
soap - WSDL 生成工具
谁能推荐一个好的(最好是开源的)工具来为一些肥皂网络服务创建 WSDL 文件?
我尝试过使用一些可用的 eclipse 插件,但对我的发现印象不深。
java - 如何使用 Apache Axis2 和 WSDL2Java 向 SOAP 响应添加命名空间引用
我正在查看我正在开发的 Web 服务的 SOAP 输出,我注意到一些奇怪的事情:
我有两个 nil 的 newKeys 元素,并且两个元素都为 xsi 插入了一个命名空间引用。我想将该命名空间包含在 soapenv:Envelope 元素中,以便命名空间引用只发送一次。
我正在使用 WSDL2Java 生成服务框架,因此我无法直接访问 Axis2 API。
xml - 用于 Web 服务的 SOAP 或 REST?
REST 是更好的 Web 服务方法还是 SOAP?还是它们是针对不同问题的不同工具?或者这是一个微妙的问题——也就是说,在某些领域中,一个比另一个稍微好一点,等等?
我将特别感谢有关这些概念及其与 PHP 世界以及现代高端 Web 应用程序的关系的信息。
apache-flex - 如何使用 Flex 在 ISO-8859-1 中发送 SOAP 请求?
Flex 默认使用 UTF-8。我还没有找到在 actionscript WebService 类上指定不同编码/字符集的方法。
soap - 需要 kSOAP 编组帮助
有没有人有一个使用 kSOAP 包的复杂对象编组示例?
.net - wsdl.exe 错误:无法从命名空间“...”导入绑定“...”
在我创建的 WSDL 上运行 wsdl.exe 时,出现此错误:
错误:无法从命名空间“SomeNS”导入绑定“SomeBinding”。
- 无法导入操作“someOperation”。
- 这些成员可能无法派生。
我正在使用文档文字样式,据我所知,我正在遵守所有规则。
总而言之,我有一个有效的 WSDL,但该工具不喜欢它。
我正在寻找的是是否有人对 wsdl.exe 工具有很多经验并且知道一些我不知道的秘密问题。
xml - XML-RPC 和 SOAP 有什么区别?
我从来没有真正理解为什么 Web 服务实现者会选择其中一个。XML-RPC 通常出现在旧系统中吗?任何帮助理解这一点将不胜感激。
c# - 查询 Web 服务以获取消息列表?
是否有一种直接的方法来查询 Web 服务以查看它支持哪些消息?我正在处理的 C# .NET 应用程序需要能够处理旧版本的 Web 服务,它没有实现我要发送的消息。Web 服务不公开版本号,因此计划 B 是查看消息是否已定义。
我假设我可以只为 WSDL 发出 HTTP 请求并解析它,但在我走这条路之前,我想确保没有更简单的方法。
更新:我决定获取 WSDL 并直接获取消息。这是获取所有消息的草稿:
java - C++ 中的 Gsoap 错误
我正在使用 gsoap 在 C++ 中创建一个肥皂服务器。消息通过用 Java 编写的总线进行路由。服务器和总线都是多线程的。一切正常,一次通过系统发送一条消息。如果我启动 3 个客户端,每个客户端都尽可能快地发送消息,那么对于大约 3500 条消息来说一切都很好。然后我开始定期收到“一次只允许一个套接字连接”。gsoap 代码中的错误。典型的 4000 条消息中约有 3950 条通过 OK。在最后 500 次发送中发生所有 50 次失败。
为什么这些错误会在多次发送后出现,而不是在发送开始时出现?发送速率不会增加。
它在说什么?我找不到该错误的任何解释,我也不清楚它的含义。
有人成功地多线程了一个 gsoap 应用程序吗?
这是我的服务器代码。