2012-03-26 79 views
0

對不起,如果這太補救或重複,但我需要一些建議。我是一個PHP人,我被要求創建一個容器類型的應用程序來捕捉我們的雅虎!商店訂單數據,這是使用該DTD作爲XML發送:Yahoo訂單導出XML - Web服務?

http://help.yahoo.com/l/us/yahoo/smallbusiness/store/order/retrieve/retrieve-20.html

的Y!商店要我們指定我們的Web服務器上的URL發送XML數據,這裏是他們的榜樣:

http://lib.store.yahoo.net/lib/vw/OrderList.xml

但是我在這裏失去了一些東西?我已經使用simplexml_load_file()來解析XML文件。但是,我需要在這裏構建一個Web服務?我如何獲取數據?我甚至不確定是否Y!發送它作爲POST或如何驗證它。

我需要額外的文檔嗎?如果有人能指引我正確的方向,我會很感激。

由於提前, -Bob

+0

你需要額外的文件。 XML可以作爲SOAP請求的一部分發送,也可以作爲簡單的XML請求(即使用Content-Type of application/xml)或作爲某些application/x-www-form-urlencoded數據中的字段發送,它可能是POST或PUT等等。 – Quentin 2012-03-26 19:11:52

回答

0

我從來沒有回答過我自己的問題,但我只是覺得我會在某天的某一天離開這裏,考慮Y!對於這方面的文檔並不是最好的。

從Y出口訂單!商店是直接的XML,而不是SOAP。如果發送到Apache服務器,你很幸運 - 這是一個簡單的$ _POST。所以你需要的是:

$ variable = file_get_contents(「php:// input」);

在我的情況,但是,事情與IIS複雜,所以我不得不添加HTTP動詞,打開該文件夾的權限,等等

- 良好的編碼,所有

-1

作爲一個PHP的人都無關,與瞭解webserves。 Webservices實際上並沒有POST或GET,它發送一個信封(XML),並期待響應,也是XML。

你需要學習如何在PHP中使用SoapClient的,這裏是一個很好的起點: http://php.net/manual/en/soapclient.soapclient.php

確認是您在發送SOAP請求之前做一些事情,並正在從Y發出什麼時候回來驗證!也是由你完成的。希望這可以幫助你開始。

+0

Webservers非常**做**使用POST和GET,它只是那些接受POST請求的人經常期望數據使用非'application/x-www-form-urlencoded'格式 – Quentin 2012-03-26 19:08:37

+0

爲什麼SoapClient會有用?你有沒有任何文件可以說Yahoo!將使用SOAP?如果是這樣,SOAP ** client **庫爲什麼會有用(考慮到問題指出Yahoo!希望URL發送數據**到**,這需要*服務器*)? – Quentin 2012-03-26 19:10:14

+0

@Quentin,如果它像鴨子一樣呱呱叫,看起來像一隻鴨子,我認爲它是一隻鴨子,比如它期望XML並返回XML,並且它是一個Web服務。我認爲這是一個肥皂服務,如果你不喜歡我的建議/假設web服務,提供另一種解決方案。 – Churk 2012-03-26 19:22:50