2014-01-14 14 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

相關問題