2011-11-21 15 views
1

我不斷收到錯誤嘗試的Kaazing JMS版本與我的.NET網站和ActiveMQ消息代理集成:有問題,我的網站整合的Kaazing:無法投遞郵件收件人X.具有原點Y

無法發信息至http://www.xgateway.com:8001。收件人的來源地爲http://www.x.com

當我嘗試構建由我的Asp .NET網站託管的JavaScript客戶端嘗試連接到kaazing網關時。

我知道我有一切設置好,因爲我可以去www.xgateway.com:8001,我可以瀏覽所有文檔並運行演示。我已經運行了股票行情演示,並觀察它完美的工作。所以所有的設置都可以。

現在的問題是,我也有我的asp.net網站託管在同一臺機器上的IIS 7上。我正在嘗試構建託管在我的.net網站(端口80)上的與kaazing網關連接的JavaScript客戶端。但我不斷收到上述交叉原點錯誤。

在我的客戶端中,我按照指示引用了StompJms.js。我有activemq正確設置和消息代理工作。所有演示工作證明一切正常。

我也採取了跟隨文檔中的說明這些步驟:


複製文件GATEWAY_HOME/lib中/客戶/ JavaScript的/ PostMessageBridge.html從源來源Web服務器使用(http://www.example.com) ;例如在http://www.example.com/bridge/PostMessageBridge.html。 注意:您必須確保文件PostMessageBridge.html與Web服務器位於相同的源(相同方案,主機和端口)上。

添加以下代碼(位於線2所示3)主應用程序頁面的部分:

<head> 
<meta name="kaazing:postMessageBridgeURL" 
     content="http://www.x.com/PostMessageBridge.html" > 
. 
. 
. 
</head> 

,但仍然得到錯誤。我還有什麼遺漏?

回答

2

由於您的.NET應用程序和您的kaazing websocket網關使用的端口號不同,因此這些端口號被視爲單獨的站點。因此,您需要爲您的服務指定跨站點約束。

以下是您需要添加到您的網關-config.xml的一個示例代碼段:

<service> 
    <accept>ws://localhost:8001/remoteService</accept> 
    <connect>tcp://localhost:61613</connect> 

    <type>stomp.proxy</type> 

    <auth-constraint> 
    <require-role>AUTHORIZED</require-role> 
    </auth-constraint> 

    <cross-site-constraint> 
    <allow-origin>http://localhost:8000</allow-origin> 
    </cross-site-constraint> 
</service> 

在這裏,你會發現在話題detailed documentation

+0

謝謝你指點我在正確的方向。我在配置文件中找到了該部分,並將allow-origin修改爲*並開始工作!這個信息並沒有出現在任何其他部分(比如與Web服務器交互的kaazing),因爲這對於讓我的網站與kaazing正確集成至關重要。 – ijjo

+0

可能不用說,在測試環境時添加通配符到配置文件是可以的。但在生產中,您應該有最嚴格的配置。 –

相關問題