2014-01-14 13 views
2

我正尝试将我的应用程序与UPS API集成,但是,我收到了错误消息。我认为这是因为我为我的XML设置了错误的根。我需要遵循以下格式:这个XML文档的根源是什么?

<?xml version="1.0" ?> 
    <AccessRequest xml:lang='en-US'> 
     ... 
    </AccessRequest> 
    <?xml version="1.0" ?> 
    <ShipmentConfirmRequest> 
     ... 
    </ShipmentConfirmRequest> 

那么这个XML文档的根源是什么?我以为你只被允许拥有一个。

IMG

+6

这是**两个文件**,每个都有一个单独的根 –

+0

但它说我必须在一个请求下这样做。那么可以在一个请求中发送两个XML文档吗? – Edmund

+0

您可以制作由多个文档组成的多部分MIME文档。我怀疑这是UPS想要的。 – Quentin

回答

1

正如其他人所说,这不是一个格式良好的XML文档。这是两个相互连接的XML文档。显然,UPS希望你使用能够识别这个并将其分开的工具。

就我个人而言,我会给公司的CTO留言,告诉他们他们的程序员需要一些基本的XML教育,包括这个回应来说明原因。

同时,我看到的最佳解决方法是设置一个过滤Stream实现,该实现可以绕过此输入。让它识别<?xml version="1.0" ?>作为返回文件结束的信号,然后再次解析它以读取响应的其余部分。

+0

haha​​haaha之前阅读注释并不大公司应该有最好的开发者? – Edmund

+1

并非总是如此。有时候错的经理得到了那份工作,雇用无能承包商。问题是,他们多快说“哎呀”并修复它,而不是试图捍卫它?这就是为什么我建议自上而下而不是自下而上的原因。 – keshlam

-1

从它看起来像他们所提供,并等待一个无效的XML,因为你是对的例子中,XML文档必须有一个根节点。

也许你可以将2个(或更多)XML连接成一个请求,或者当你得到一个响应时,你将它分解成有效的XML文档,然后你就可以处理。

+0

花一些时间来回答 – nrathaus

相关问题