2009-10-05 77 views
0

我們有一個沒有價格的本地產品數據庫。爲了獲得價格,我們需要向製造商發佈包含我們公司的產品ID和證書的XML文件。製造商將發回相同的XML文件,並將價格添加到新標籤中。我需要解析該文件才能獲得價格。我怎樣才能在web上下文XML文件

這裏是製造商說明書的一部分:

客戶機必須首先建立一個請求XML文檔(見下文具體實施例)。

構建XML文檔後,客戶端軟件必須啓動與服務器的HTTPS連接。客戶端必須將其客戶端證書作爲此過程的一部分呈現,以便與服務器進行身份驗證。如果客戶端證書身份驗證不可行,則必須在服務器上使用有效的用戶ID /密碼組合填充XML中的用戶ID和密碼字段。

HTTPS會話建立後,客戶端必須將XML文檔發佈到服務器。

服務器將處理文檔並返回它能夠提供的任何信息。務必注意,服務器不會構建新文檔,但會將信息添加到請求文檔中。然後客戶端必須解析此XML文檔以提取所需的信息。

我想使用AJAX來做到這一點。但幾分鐘後,我想通了,我不能這樣做,原因如下:

  • 無法使用跨端AJAX
  • 我不能在JavaScript
  • 創建一個XML文件
  • 憑證將在XML文件中以明文顯示

我不認爲我可以使用PHP(服務器端)來完成此操作。

我最後的選擇是Java Applet還是Flash ActionScript?你會怎麼做?

回答

0

這需要多長時間一次?一天一次?每次請求?

我會在PHP中使用cURL或使用Perl中的LWP來做到這一切。我相信Java中有類似的東西。

我不認爲你可以做這個客戶端。即使你可以,你可能不應該。

+0

你能解釋一下我應該如何使用cURL來做到這一點? – JPB 2009-10-05 15:59:26

+0

我沒有任何方便的例子,但http://us2.php.net/curl會讓你開始。你也可以用輸出流完成同樣的事情。以下是一個示例:http://netevil.org/blog/2006/nov/http-post-from-php-without-curl – 2009-10-05 16:03:45

1

將請求的關鍵參數發送給服務器,在服務器上使用HttpClientApache Axis來爲製造商構建請求併發布。收集結果(再次在服務器上),處理結果並將價格發回給瀏覽器。

+0

@ Jean-Philippe Brabant - 您基本上需要一個寧靜的Web服務客戶端。我實際上推薦在Axis上使用Apache CXF。儘管你實際上可以使用HttpURLConnection類。所有這些選項都是Java – jconlin 2009-10-05 16:24:46