昨天有使用soap傳輸資料到Webservice,其中字串型別的都已經傳輸成功,但是有幾個引數傳輸失敗,java服務器端收到的空值,
因為我是php的,然后接收端是java制作的,其中有幾個引數是list陣列型別的,我剛開始將php的陣列傳過去,服務端接收到的是空,然后再使用json格式還是不行,后來去詢問java同事,他們說list陣列型別不像php一樣是有鍵值和鍵名的,
java的list陣列是只有name和value對應關系,如下所示
$arr = array('userid'=>1,'name'=>'張三',params=>arrary(array('name'=>'陣列1','value'=>'值1'),'name'=>'陣列2','value'=>'值2'));
將陣列通過name和value對應關系后傳輸給java,java就能決議list陣列進行存盤,
__soapCall回傳的是object型別的陣列,可以先使用json_encode,然后再json_decode進行轉換,變為陣列格式進行分析判斷,
到此為止,soap傳輸資料總算完成了,接下來就是一些細節對接問題,因為Webservice是有用戶校驗的,因此我需要先使用它們的登錄方法進行登錄,然后獲取到對應的session值,為了避免不必要的重復登錄步驟,因此我將此session值快取下來,
放入到cash目錄下,然后每次傳輸資料時都先取然后傳輸,如果session過期或者無效,根據回傳的code判斷然后再重新登錄更新session值,
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/96348.html
標籤:PHP
下一篇:PHP原生實作簡易的MVC框架
