2015-12-18 37 views
1

我是一個SOAP領域和事物的新手,並不完全知道如何正常工作,但我收到來自eBay的郵件正文中包含肥皂消息的通知。通常一個帖子消息似乎是:如何使用symfony獲得完整的帖子內容?

{'id':300} 

因此,我們可以通過名稱使用例如$_POST['id']得到進去。 SOAP消息發佈作爲一個字符串是這樣的:

<?xml... 

使用純PHP,我會做file_get_contents('php://input')

所以,我的問題很簡單:如何使用Symfony獲得此消息?或者我應該做file_get_contents('php://input')

+1

你提的問題是非常不清楚,缺乏細節,並且你已經完成的工作。請考慮更新它並閱讀https://stackoverflow.com/help/how-to-ask – tchap

回答

4

使用Request對象獲取內容,然後您可以使用DomCrawler遍歷節點並查找內容。

例子:

use Symfony\Component\DomCrawler\Crawler; 

... 

public function apiAction(Request $request) 
{ 
    $xmlContent = $request->getContent(); 
    $crawler = new Crawler($xmlContent); 

    $text = $crawler 
     ->filter('node > childnode') 
     ->text(); 
} 
+1

祝你好運json_decoding XML! – Oldskool

+0

@Oldskool,他指出,帖子主體看起來像'{'id':300}',它是json格式 –

+1

不,OP表示發佈消息*通常*看起來像那樣,但他/她現在獲得SOAP消息,這是XML。 – Oldskool