blog.Toby

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            130 隨筆 :: 2 文章 :: 150 評論 :: 0 Trackbacks
          的SQL server 我這里用SS代替,Sql Server Analysis Service 我用SSAS代替,

          這是OPENI文檔中也這么稱呼,希望大家習慣。

          介紹我的環境:

          windows xp pro + sp2
          SS 2000 開發版(中文) + sp3a
          SSAS 2000 +sp3a
          XML analysis SDK 6.0
          XMLA SDK 1.1
          sorry我的迅雷歷史察看有問題,列不出地址了。大家自己找吧。

          安裝方法可以參看openi首頁的安裝文檔,上面詳細介紹了如何安裝

          注意,這里SSAS 2000 和SS用的是sp3a的補丁,openi官方稱jpivot

          不支持SSAS 2000+sp4 或SS 2005,需要修改文件。修改方法看openi

          的wiki,(我沒試過)。

          為什么,要用SSAS 2000呢?因為SSAS 2005明確說,要使用XMLA

          SOAP必須要windows 2003,配IIS 6.0,我的機器是xp,也不想裝2003所以

          必須選SSAS2000,關于IIS6.0我起先想裝到xp上,下了n多的所謂的6.0 for XP

          全是假的,還中了n個木馬。記住IIS6.0只有在2003上,xp上是沒有的,

          openi中文檔里說的applaction pool在2003中才有,同樣web services也必須

          2003上配。SSAS 2000為什么選sp3a這是openi說的,俺就不試sp4了,省的有問題

          先安裝以上我列舉的軟件。

          然后在IIS,管理面板中選擇,默認站點,新建虛擬目錄,目錄名為xmla指向

          C:\Program Files\Microsoft XML For Analysis SDK\isapi
          設置可匿名訪問該虛擬目錄,并在屬性中設置,執行權限是腳本和可執行文件。

          設完后在瀏覽器中輸入:
          http://localhost/xmla/msxisapi.dll
          應該看到如下顯示:
          <?xml version="1.0" ?>
          - <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
          - <SOAP-ENV:Body>
          - <SOAP-ENV:Fault xmlns:XA="urn:schemas-microsoft-com:xml-analysis">
          <faultcode>XA:XMLAnalysisError.88BA0800</faultcode>
          <faultstring>Web 服務只支持 POST 操作。</faultstring>
          <faultactor>urn:schemas-microsoft-com:xml-analysis</faultactor>
          - <detail>
          <Error ErrorCode="2293893120" Description="Web 服務只支持 POST 操作。" Source="urn:schemas-microsoft-com:xml-analysis" />
          </detail>
          </SOAP-ENV:Fault>
          </SOAP-ENV:Body>
          </SOAP-ENV:Envelope>
          意思是說,xmla不支持get,必須post操作

          到這里,任務完成了多半
          在你的配置里,修改xmla的配置讓他指向,這里就ok了
          例如morndian 中修改WEB-INF/question/xmla.jsp中
          <jp:xmlaQuery id="query01"
          uri="http://localhost/xmla/msxisapi.dll"
          catalog="FoodMart 2000">
          注意catalog是FoodMart 2000

          然后到界面中,預覽就OK了。
          這里有幾個問題,玩了我3天,我先列舉一些
          SQL server 2005 soap必須在2003上配
          IIS 6.0不能裝在XP上
          SQL server 的sp補丁必須跟服務器語言版本一致,openi的是E文的不能用
          不要用xmlaTest.jsp測試(我測試xmla都用這個,結果就是這個玩了我兩天)
          xmlaTest.jsp發送的報文是Form的一個簡單Post,如果直接把URL,換為msxisapi.dll
          就會報
          <faultcode>XA:XMLAnalysisError.8007000E</faultcode>

          <faultstring>處理請求時出錯。</faultstring>
          Goole半天終于知道要在http請求頭中加入:
          SOAPAction: "urn:schemas-microsoft-com:Discover"
          對這句話解釋是:XML/A servers didn't require it, but by the "letter of the law" it should be in there.
          form post的時候當然沒這個東東了。
          而jpivot中發送的時候帶,看報文:
          POST /xmla/msxisapi.dll HTTP/1.1^M
          SOAPAction: "urn:schemas-microsoft-com:xml-analysis:Discover"^M
          Content-Type: text/xml; charset="utf-8"^M
          Content-Length: 429^M
          Cache-Control: no-cache^M
          Pragma: no-cache^M
          User-Agent: Java/1.5.0.03^M
          Host: 192.168.0.203:9444^M
          Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2^M
          Connection: keep-alive^M
          注意到了沒,有個SOAPAction,而testXMLA.jsp是Form提交當然沒有,
          看報文頭如下:
          POST /xmla/msxisapi.dll HTTP/1.1^M
          User-Agent: Opera/9.01 (Windows NT 5.1; U; zh-cn)^M
          Host: 192.168.0.203:9444^M
          Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1^M
          Accept-Language: zh-CN,zh;q=0.9,en;q=0.8^M
          Accept-Charset: iso-8859-1, utf-8, utf-16, *;q=0.1^M
          Accept-Encoding: deflate, gzip, x-gzip, identity, *;q=0^M
          Referer: http://192.168.0.203:8444/mon/xmlaTest.jsp^M
          Connection: Keep-Alive^M
          Content-Length: 1134^M
          Content-Type: application/x-www-form-urlencoded
          所以MS的SSAS,XMLA要報那個該死的錯誤。你要不明白原理,調死你也不通。
          為了這個試了N種組合,包括XMLA SDK版本降級。。。

          http://www.bbker.com/D7478.html

          posted on 2008-08-13 10:19 渠上月 閱讀(699) 評論(0)  編輯  收藏 所屬分類: OLAP
          主站蜘蛛池模板: 金山区| 雷山县| 长垣县| 靖宇县| 临沧市| 新巴尔虎右旗| 福海县| 故城县| 辽源市| 双辽市| 板桥市| 布尔津县| 台南县| 杭锦后旗| 西贡区| 合川市| 滨州市| 元氏县| 南木林县| 云阳县| 青浦区| 离岛区| 滨州市| 青龙| 梁山县| 永登县| 泌阳县| 沁水县| 阳西县| 英吉沙县| 丽水市| 儋州市| 临猗县| 安化县| 泸州市| 桦甸市| 三明市| 泰兴市| 钦州市| 阿坝县| 环江|