我在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. 从经典的ASP页面调用REST Web服务
- 3. 如何调用从Web服务使用ASP/VBScript中
- 4. 从经典的ASP调用WCF服务
- 5. 从WCF服务调用asmx Web服务
- 6. 从Windows服务调用Web服务
- 7. 从httpmodule调用Web服务
- 8. 从jquery调用web服务
- 9. 从PHP调用Web服务?
- 10. 从Java调用Web服务
- 11. 从WordPress调用Web服务
- 12. 从html调用web服务
- 13. 从C++调用Web服务
- 14. 从另一个Web服务调用Web服务的例外
- 15. 从ASP发布到Web服务,从远程服务器
- 16. 消费的ASP Web服务使用jQuery
- 17. 从另一个C#Web服务调用C#Web服务
- 18. 从另一个.asmx Web服务调用.asmx Web服务
- 19. 从AppEngine的Servlet调用Web服务
- 20. Web API调用Web服务
- 21. 调用Web服务
- 22. 调用Web服务
- 23. 调用Web服务
- 24. 调用Web服务
- 25. 调用和解释来自javascript/html的ASP web服务
- 26. 从.Net Core调用AS400 DB
- 27. 从Java调用AS400 RPG
- 28. 如何从Azure Web服务上的经典ASP网站调用C#类库?
- 29. 无法从Groovy调用Web服务
- 30. 如何从jQuery调用WCF Web服务?
这并不完全清楚你对问题的第二部分的含义。你确实在你的web服务中出错。但是你也可以使用webservice而不会出错。是: a)您使用另一套IN和OUT?如果是这样,问题就解决了;-) b)你只使用IN参数? – robertnl 2010-01-13 18:40:41