2009-09-29 21 views
0

我有一個在localhost上運行的Tomcat服務:8080,我已經安裝了BlazeDS。我創建和配置這樣一個簡單的Hello World應用程序...什麼是BlazeDS請求的查詢字符串?

package com.adobe.remoteobjects; 
import java.util.Date; 
public class RemoteServiceHandler { 
public RemoteServiceHandler() 
{ 
//This is required for the Blaze DS to instantiate the class 
} 
public String getResults(String name) 
{ 
String result = 「Hi 」 + name + 「, the time is : 」 + new Date(); 
return result; 
} 
} 

隨着我什麼查詢字符串可以通過調用只是一個瀏覽器RemoteServiceHandler我的Tomcat實例?像... http://localhost:8080/blazeds/?xyz

回答

1

不幸的是,你不能。首先,請求(和響應)以AMF編碼,其次我相信它們必須是POST。如果您深入瞭解BlazeDS源代碼和Flex SDK的RPC庫,那麼您大概可以確定它發送的內容。但AFAIK沒有在其他地方記錄。

+0

是的,請求是通過HTTP POST。 AMF是一種二進制編碼方案,它甚至可以檢查原始消息而非常痛苦。 – 2010-01-26 14:04:49

0

我認爲使用HTTPChannel而不是AMFChannel,AMFX(它是XML中的AMF)可以爲你工作。

http://livedocs.adobe.com/blazeds/1/blazeds_devguide/help.html?content=lcarch_2.html#1073189通道和通道組

Flex客戶端可以使用不同的信道 類型,如的AMFChannel和 的HTTPChannel。頻道選擇取決於多種因素,包括 類型的應用程序。 如果要求非二進制數據傳輸爲 ,那麼您將使用HTTPChannel,它使用名爲AMFX(XML中的AMF)的非二進制 格式。有關頻道的更多信息,請參閱 頻道和終端。

這樣您就可以使用簡單的netcat發送請求。 不知道如何處理身份驗證,您可能需要使用Flash進行登錄,提取身份驗證Cookie,然後將其作爲請求的一部分提交。

請更新此線程一旦你取得進展,以便我們都可以學習。

相關問題