我在AS400中有IN和OUT參數的外部存儲過程(SP)。當我使用IN和OUT參數從webservice調用SP時,它向我顯示一個錯誤(Attempted to read or write protected memory
)。但是,當webservice具有所有parm作爲IN模式並調用我的SP時,它可以正常工作。從ASP調用AS400的web服務
回答
僅供參考,存儲過程在AS400上運行應該不重要。從您的ASP.NET webservice的角度來看,它使用的是常規的DB2數據庫。順便說一句,你如何從Web服務連接到數據庫,ADO.NET,ODBC或其他。
您是否嘗試過從AS400 SQL命令外殼(STRSQL)調用存儲過程?您是否嘗試從客戶端訪問導航器SQL腳本調用存儲過程?特別是如果最後一個工作,你的SP在技術上是正確的。請注意,您可以在CA Navigator中檢索SP的定義。研究你的IN和OUT參數非常好,因爲DB2對這些參數的類型不是很寬容。
請注意,您在as400(ILE或不ILE?)上的外部程序必須支持您爲存儲過程定義的參數類型。也許你的IN參數是正確的,但你的OUT參數不正確。因此,如果您的程序想要返回一個值,它可能會失敗。另外,您可以定義一組不同的參數(例如SQL而不是JAVA)。我可以想象,定義錯誤的設置會產生奇怪的效果。
現在,使用CA Navigator測試您的SP(每個AS400均有售)。如果可行,你的SP工作。然後你可以縮小你的問題到你的Web服務。
另外,在DB2中,您可以定義參數als INOUT。那也將是一個不錯的實驗。
感謝@robertnl的幫助,我已經想通了。問題是SP調用AS400程序,並且從該程序發出返回參數。但是現在返回參數被緩存在SP中,並作爲SP的輸出參數傳遞給WS – neo 2010-01-18 13:40:07
- 1. 從PHP調用經典ASP Web服務
- 2. 從Jquery調用ASP服務
- 3. 從經典的ASP頁面調用REST Web服務
- 4. 如何調用從Web服務使用ASP/VBScript中
- 5. 從WCF服務調用asmx Web服務
- 6. 從Windows服務調用Web服務
- 7. 從web服務調用javascript
- 8. 從jquery調用web服務
- 9. 從httpmodule調用Web服務
- 10. 從C++調用Web服務
- 11. 從Java調用Web服務
- 12. 從Javascript調用Web服務
- 13. 從winfomrs調用Web服務
- 14. 從WIX調用Web服務
- 15. 從WordPress調用Web服務
- 16. 從UNIX調用Web服務
- 17. 從jQuery調用Web服務
- 18. 從PHP調用Web服務?
- 19. 從html調用web服務
- 20. 如何從傳統ASP調用ColdFusion cfc Web服務?
- 21. 調用Web服務的Web服務
- 22. ASP VB - 調用功能從服務器
- 23. 從另一個Web服務調用Web服務的例外
- 24. 從ASP訪問sharepoint web服務
- 25. 從ASP發佈到Web服務,從遠程服務器
- 26. 消費的ASP Web服務使用jQuery
- 27. 使用KSOAP2的Android ASP Web服務
- 28. Web服務&經典Asp
- 29. Web2py:從動作調用或Web服務調用服務圖像
- 30. 從本地從android調用web服務
這並不完全清楚你對問題的第二部分的含義。你確實在你的web服務中出錯。但是你也可以使用webservice而不會出錯。是: a)您使用另一套IN和OUT?如果是這樣,問題就解決了;-) b)你只使用IN參數? – robertnl 2010-01-13 18:40:41