这次在做一个项目的时候需要进行webservice开发,以前开发webservice都是传String类型的xml数据,这次的是传的是复杂对象,其实这种复杂对象也是客户端传对象被客户端程序编译为soap包发送到服务端,服务端代码再根据soap包组成对象(若描述有错希望纠正),这次使用axis2
1.根据指定的wsdl生成服务端代码,使用axis2官方网发布包中所带工具wsdl2java,编译命令直接在它的官网user guide中有,注:编译后生成的bean的包最好不要改动,因为这里的包名跟代码中有很大关联,生成的skeleton骨架类到可以视情况变化
2.部署webservice
至于如何部署axis2,就不用多说了,网上有好多方法,有打包的和不打包的发布方式,我是不打包的方式发布的,在WEB-INF下services文件夹下将建立hello(随便命名)文件夹,再建立META-INF,然后将编译生成的resource下的services.xml及wsdl文件copy进去,然后还得配置相应的web.xml
3.The service cannot be found for the endpoint reference (EPR) ...错误解决
这个错误指webservice的接入点不正确,可能情况
(1)你的访问路径有误,及你访问地址不正确,打到浏览器中看不到输出wsdl
(2)打到浏览器中能看到wsdl,但客户端访问的时候仍报The service cannot be found for the endpoint reference (EPR) ...,这并不代表你的webservice没发布成功或有误,或你输入的访问连接不正确,关键看你在浏览器中输入连接打出wsdl最后的一段描述
<wsdl:service ame="isc">
|
|
<wsdl:port name="isc_services" binding="tns:isc_services">
|
|
<soap:address location="http://192.168.50.234:7001/WebRoot/service/isc/"/>
|
|
</wsdl:port>
|
|
</wsdl:service>
|
在这段描述中可以看到当访问wsdl连接时他会自动去转向这个地址(这个地址是axis2根据配置自动生成的),可能是这个地址访问不到,有可能你的web.xml中拦截不对,我的因为某些原因我在web.xml里面配置的axisServlet拦截/service/*,而axis2原来自动转向的地址location="http://192.168.50.234:7001/WebRoot/services/isc/,所以我的拦截不到,若想更改axis2的自动生成链接则一切尽在你部署是copy进去的conf/axis2.xml中了,在这里面有一个
<parameter name="servicePath">service</parameter>参数配置,你将这个配置成你想拦截的我的改成service,这样访问时自动转向的地址就是location="http://192.168.50.234:7001/WebRoot/service/isc/,根据web。xml中的配置即可拦截到访问了,当然axis2.xml还有很多秘密等有空再看吧,仅供参考
分享到:
相关推荐
对Eclipse4.3(Kepler server release2)版本配置Axis2-1.6.2,开发webservice服务接口,里面是自己配置过程中的总结和一些相关的插件压缩包,还有一份word文档是我操作的一些总结,希望对大家有所帮助。
Axis2开发webservice总结
Axis2开发webservice总结,资源一般,希望对大家有用
个人的使用axis2开发webservice项目的总结文档
本文档总结了工作中经常遇到的axis2异常问题该如何解决,本人亲自实践过,可以保证其正确性
Axis2教程和java调用webservice的各种方法总结
推荐版本1.7.5
手头上做的java web的项目需要调用.net wcf发布的webservice,查资料看到XFire,Axis2,CXF这三种方式,然后仔细进行了一下对比。资料全来源自网络,不保证完全正确。
axis2客户端需要的jar包总结,包含axis2客户端搭建需要的全部jar包。
webservice初次开发代码 博文链接:https://sailinglxg.iteye.com/blog/170573
本文档从在eclipse下配置axis2开发环境,到编写服务器接口,使用axis2的server wizard发布aar文件的方式,及编写客户端代码访问arr接口的方式;另一种是在要发布的类上使用右键-->webservice-->创建webservice,发布...
NULL 博文链接:https://wxu.iteye.com/blog/268981
axis2开发webservice及在silverlight端调用总结。 初次研究java,之前用hessian发布发现silverlight调用不了,改用axis2,跟大家分享。
在网上自己总结的一些文档资料,比较全的,还有一个自己写的代码(没有jar包)和Spring整合
NULL 博文链接:https://shawnfree.iteye.com/blog/373463
NULL 博文链接:https://nannan408.iteye.com/blog/1972287