第一个数据全局网关 API - 无效 XML 问题

Posted

技术标签:

【中文标题】第一个数据全局网关 API - 无效 XML 问题【英文标题】:first data global gateway API - invalid XML problem 【发布时间】:2010-12-30 19:08:59 【问题描述】:

我正在将 First Data Global Gateway API 实施到 Java 电子商务 Web 应用程序中。我遇到的问题是我收到一条错误消息

SGS-020003:无效的 XML

从 staging.linkpt.net 服务器返回。通过关闭可选实体,我设法找到了有问题的实体。它是运输实体。我里面有以下数据:

<shipping>  
   <zip>10105</zip>  
   <phone>123456789</phone>  
   <email>ich@alala.com</email>  
   <name>DJBla</name> <state>NY</state>  
   <address1>some city</address1>  
   <address2>suite 6</address2>
   <city>New York</city> 
   <country>US</country>
</shipping>

根据First Data Global Gateway User Manual Version 1.1,我的 XML 一切正常。有人知道错误可能在哪里吗?

亲切的问候, B.乔治

【问题讨论】:

我不知道那个 API,但我不得不说这是地址元素的不寻常顺序。邮政编码在前? 【参考方案1】:

我不知道 First Data Global,但我会尝试提供一些基本的 XML 建议。阅读您引用的一些运输方法的规范需要您的示例中没有的字段 - 您确定您没有使用这些方法(即使默认情况下)?

我会建议其他实验 - 以他们手册中的示例为例,看看它们是否有效 - 然后至少你知道你没有违反系统程序。另请查看是否存在 XSD 架构以及您的文件是否针对它进行验证。尝试插入有时需要的元素,看看是否会引发错误。此外,错误消息通常并不总是像它们可能的那样精确 - 也许不是“运输”的内容是错误的,而是运输本身的位置 - 也许它不允许作为其父级的子级(没有更多信息,我认为没有人可以提供帮助)。

【讨论】:

您好,谢谢您的回答。我尝试了其他所需字段的值,尽管我的应用程序并不需要它们,因为我不使用运费和税金计算器。它也没有用。整个运输实体是可选的,没有它,我的应用程序可以正常工作。 关于 XSD 架构,我没有,但我会尝试从第一个数据中获取一个。 Schema 验证可能是一个必要但不充分的条件,因为规范中的单词不可能全部放入模式约束中。我同意@John 的观点,即子元素的顺序可能很重要,尽管规范似乎不需要它【参考方案2】:

不是理想的解决方案,但问题似乎与&lt;phone&gt; 标签有关。只需将其删除即可解决我的问题。

<shipping>  
  <zip>10105</zip> 
  <email>ich@alala.com</email>  
  <name>DJBla</name> <state>NY</state>  
  <address1>some city</address1>  
  <address2>suite 6</address2>
  <city>New York</city> 
  <country>US</country>
</shipping>

【讨论】:

以上是关于第一个数据全局网关 API - 无效 XML 问题的主要内容,如果未能解决你的问题,请参考以下文章

在 Spring Boot 应用程序中使用 API 网关时,HATEOAS 路径无效

从 SSAS 网关刷新时出现“EffectiveUserName' XML for Analysis 属性无效”错误

关于路由设备上配置默认网关命令无效的问题

azure api 网关与 AKS 502 集成 - Web 服务器在充当网关或代理服务器时收到无效响应

使用 aws api 网关的 Wallet Pass 自动更新 Web 服务

来自 URL 的 XML - 根级别的数据无效。第 1 行,位置 1 为啥它适用于一个 URL 而不是另一个?