2015-08-18 60 views
0

我對Web服務不熟悉。我的公司希望將SharePoint 2013集成到SAP。我的公司(現在)只允許我們使用客戶端編程(JavaScript)開發SharePoint應用程序。用javascript(客戶端編程)消費PHP web服務Sharepoint

我們已經有一些PHP應用程序通過RFC連接到SAP,所以我的想法是創建PHP Web服務並從JavaScript(SharePoint)使用它。

我的問題:
1.我們能做到嗎?
2.是否有另外一種方法將SP與SAP客戶端編程集成到SAP?

我嘗試了簡單的JavaScript調用PHP函數(不是web服務)使用下面的Ajax,但有錯誤(alert:error2)。

$.ajax({ 
 
        type : "POST", 
 
        url : "http://10.15.5.150/testapp/test_ws", 
 
        data : "id=1", 
 
        cache : false, 
 
        success : function(data){ 
 
         var data = eval('('+data+')'); 
 
         if(data.success){ 
 
          alert(data.msg); 
 
         }else{ 
 
          alert('error'); 
 
         } 
 

 
        }, 
 
        error: function(data){ 
 
         alert('error2'); 
 
        } 
 
       });

感謝。

+0

使用PHP作爲客戶端時,消費PHP Web服務是絕對可能的。如果您可以在JavaScript中使用JQuery庫,這一點尤其簡單。該庫將爲您提供創建Ajax請求到PHP服務所需的簡單工具。 –

+0

我試過使用ajax。但是看起來像網站域名有問題。因爲我是webservice的新手,**如何從其他平臺/服務器調用webservice等?** 我搜索並找到JSONP(帶有Padding的JSON)來處理跨域,但我不認爲這是答案。 – karl

+0

服務於html/javascript內容的SAP頁面最初需要設置標題(「Access-Control-Allow-Origin:*」);這將允許接收該頁面的瀏覽器允許使用ajax訪問其他域(您的php)。 –

回答

1

使用PHP作爲客戶端時,消費PHP Web服務是絕對可能的。如果您可以在JavaScript中使用JQuery庫,這一點尤其簡單。該庫將爲您提供創建Ajax請求到PHP服務所需的簡單工具。

如果PHP Web服務託管在另一個域上(除SharePoint域之外),提供Javascript的SharePoint服務器需要包含以下標頭。

"Access-Control-Allow-Origin: <domain-of-php>" 

注意:該域也可以*爲所有域。

此標題將允許瀏覽器連接到除原始域以外的其他域。