【发布时间】:2019-10-10 02:29:14
【问题描述】:
端点 URL 如下所示(不是实际 URL) https://webservices.abcde.com/ThirdParty/PostData.V55.ashx/ProcessRequest
它没有 WSDL,并且在文档中,有一个示例请求 XML。
这是巨大的。我在下面添加前几行。
<MESSAGE xmlns:agentnet="http://services.abcde.com/entity/agentnet/v2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.mismo.org/residential/2009/schemas/v32">
<ABOUT_VERSIONS>
<ABOUT_VERSION>
<AboutVersionIdentifier>ClientSystem</AboutVersionIdentifier>
<DataVersionIdentifier>1.0</DataVersionIdentifier>
<DataVersionName>ASDFSFD</DataVersionName>
</ABOUT_VERSION>
</ABOUT_VERSIONS>
<DEAL_SETS>
<DEAL_SET>
<DEALS>
<DEAL>
<PARTIES/>
<SERVICES>
<SERVICE>
<SERVICE_PRODUCT>
<SERVICE_PRODUCT_REQUEST>
<EXTENSION>
<OTHER>
<agentnet:AGENTNET_PRODUCT_REQUEST>
<agentnet:AgentNetServiceType>GET_DATA</agentnet:AgentNetServiceType>
<agentnet:AGENTNET_GET_DATA>
<agentnet:GetRequestType>ACCOUNTS</agentnet:GetRequestType>
</agentnet:AGENTNET_GET_DATA>
</agentnet:AGENTNET_PRODUCT_REQUEST>
...
...
...
...
... (the XML is huge)
借助其他端点,我能够使用像 savon 这样的 SOAP 库,使用小型 Ruby 哈希(字典)生成 XML 有效负载。
我认为这是可能的,因为那些是 WSDL?
是否可以通过仅传递一些基本数据(例如,GET_DATA 和 ACCOUNTS 在示例中)以相同的方式生成有效负载,或者我应该手动构建 XML 有效负载字符串(可能使用一些XML 库)?
我真的想避免手动构建 XML 有效负载,因为代码将不可读并且通常难以使用。有办法避免吗?
【问题讨论】: