我在解析SOAP响应时遇到问题。这是我的代码:require'rubygems'require'savon'client=Savon::Client.new"http://1.2.3.4/xyz/abcd/fsds.wsdl"res=client.query_unpaid_assesmentsdo|soap,wsse|soap.namespaces["xmlns:SOAP-ENV"]="http://schemas.xmlsoap.org/soap/envelope/"soap.namespaces["xmlns:xsi"]="http://www.w3.org/2001/XMLSch
我正在使用Savon的网络服务,WSDL带有2个绑定(bind)。我如何指定在Savon中使用哪个绑定(bind)?其中一个是http,另一个是https。我正在尝试使用https服务。wsdl的资料我如何使用ES1?我现在在savon上使用的代码是require'savon'require'httpclient'wsdl="https://example.com/Messages.wsdl"driver=Savon::Client.new(wsdl)response=driver.request"someAction"当我使用soap4r时,我可以使用以下代码选择绑定(bind):r
我遇到了SavonRubyGem生成失败的SOAPAPI调用的问题,但是当我将完全相同的XML消息复制并粘贴到SOAP-UI时,它成功了。我发送此消息:555526219160对于此API(远程网络摄像头配置):https://oapqa.onasset.com/Services/SecureOriginCommand.svc?wsdl但它失败并显示此消息:SOAPresponse(status500):a:ActionNotSupportedThemessagewithAction'oapSetSentryReportingIntervalRequest'cannotbeproces
我有一个我认为与命名空间有关的问题。WSDL可以从这里下载:http://promostandards.org/content/wsdl/Order%20Shipment%20NotificationService/1.0.0/OSN-1-0-0.zip当生成请求时,它看起来像这样:1.0.0myusernamemypassword32017-07-19这会导致soap错误。当SoapUI使用相同的WSDL构造请求时,它看起来像这样1.0.0myusernamemypassword32017-07-19您可以看到SoapUI已将用户名和密码放在“shar”命名空间中。我注意到这并没有直
使用savongem,我得到以下请求XML:但它需要是这样的:注意ins0已被删除。有什么建议吗? 最佳答案 这两个XML文档是等价的,因此只要文档由XML兼容代理解析,就不会有问题。Savon生成的文档只是为“SOMEURL”命名空间创建一个命名空间前缀ins0。这对于包含来自该namespace的许多元素的大型SOAP文档来说很方便。在此示例中,前缀并不是真正必需的。我能看到的唯一潜在问题是Savion生成的文档似乎两次声明ins0namespace-一次在soap:Envelope中,然后再次在soap:Body中。似乎是多余
我需要创建一个rubyweb服务客户端(使用Savon)来对需要Nonce中的EncodingType的web服务进行soap调用。所以正确的soap消息将具有这样的Nonce元素:......SomeHashValue......但是在我的Savon客户端中,我不知道如何在Nonce元素中添加该属性。我的代码在这里:......client=Savon.clientdowsdl.endpoint="http://webservicehost/TestWebService"wsdl.namespace="namespace"wsse.credentials"username","p
我有一个可爱的任务,就是使用Rails处理大量的SOAPapi。SOAP服务具有三种不同的绑定(bind);wsHttpBinding、wsHttpBindingwithx509和自定义绑定(bind)。我可以仅使用wsHttpBinding到达两个端点,但第三个端点需要用户名和密码,这不适用于此。由于证书的原因,我避免使用x509,并且自定义绑定(bind)在SoapUI中工作得很好,但是对于Savon,我得到以下错误。ThemessagewithAction''cannotbeprocessedatthereceiver,duetoaContractFiltermismatchat
我正在尝试使用Savon来发出一些SOAP请求,但恐怕我需要超出一些基础知识。我需要按照以下方式发送一些内容:value现在,如果我不必指定xsi:type,这将是一个简单的问题:client.method_name{|soap|soap.body={:parameter=>'value'}}问题出在参数中的xsi:type;由于我使用的Web服务是围绕多态性构建的,因此我需要明确指定参数的类型。有什么方法可以做到这一点(最好不必生成我自己的XML?)我真的很想永远放弃soap4r:)谢谢! 最佳答案 在哈希中指定XML属性非常难看
我正在评估使用web服务的savon...但是如果我可以使用SSL客户端证书对提供SOAPweb服务的服务器进行身份验证,我找不到任何信息。我阅读了文档,但没有找到任何相关信息。有谁知道SAVON是否支持客户端证书认证?问候假 最佳答案 Savon的最新稳定版本(目前为2.2.0)通过全局选项支持SSL客户端证书。请参阅thedocumentation中的SSL部分.这里是一些示例代码,假设httpclient与httpi一起使用:savonConfig={:namespace=>"http://...com",:endpoint=