您的位置:首页 > 其它

axis2发布的webservices在flex中调用出错的解决方案(通过代理服务器发布)

2013-12-16 19:57 302 查看
最近用flex做一个项目,后台交互用到了webservices,后台开发用的java,所以选择了目前比较流行的axis2框架做,具体实现细节就不多说了,遇到的问题如下:项目在服务器内网中可以正常访问webservices,但是在外网中就无法访问,提示编码失败,服务器是通过代理方式做了域名映射,可以用域名方式在外网上访问,很是郁闷,通过仔细研究最终得到了解决,现将解决方法记在这里,以备不时之需,同时给那些和我有同样问题的朋友一些思路。

axis2实现的webservices只需简单的配置就可以实现所需功能,它自动生成的wsdl文件最后几行如下:


在内网中访问时是没有问题的,但是在flex项目里在外网就是访问不了,应为无法加载wsdl文件,造成这种问题的原因是axis2自动获取本机ip地址自动生成soap协议所需url,可以通过配置axis2配置文件自定义这个地方的地址,在axis2.xml文件中加入以下文字即可:

<parameter name="hostname" locked="true">myhost.com</parameter>,myhose.com就是你的服务器域名,这样就可以在在外网中访问webservices了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息