我在网上查了axis2发布webservice很多都是把classes文件和services.xml打包成AAR文件放到AXIS2网站目录下发布的,请教一下
可不可以你发布Web project那样发布?
可以不以用别的方式发布呢?最好能给个例子!我初学,谢谢!
可不可以你发布Web project那样发布?
可以不以用别的方式发布呢?最好能给个例子!我初学,谢谢!
解决方案 »
- 请教ibatis的DBCP连接池和tomcat6的优化问题
- 本人JSP菜鸟,请高手赐教些小问题。。不胜感激
- struts2上传文件demo的问题
- RMI端口不释放问题
- 请问appfuse程序该怎样部署啊?能不能说说具体的操作步骤啊?谢谢!
- value object--javabean中的问题,急需解决!!
- 问大家一个简单的问题(关于数组的)??我们讨论讨论
- jboss-3.2.6的8080端口与ORACLE的8080端口冲突如何解决
- struts 学习园地---怎么打不开了?
- spring cloud中服务注册成功,但不能通过服务名来调用IP地址
- 程序关闭excel
- SSH框架里用SQL查出的Object对象不能转化为映射类是为什么啊
打错字了
意思是,用什么方法把web 工程中JAVABEAN中的方法暴露出去,让webservice调用
具体你的问题在描述的清楚一点。
要发布web service 首先要把axis安装到你的web project 中 具体方法
axis/webapps/axis中的 lib和web.xml 拷到你的web project中
这个时候启动你的web project
axis 安装好后 在你的项目中创建 wsdl文件, 并用ant 调用wsdl2java命令生成服务器端代码, 同时也会生成一个deploy.wsdd
接着再使用 ant 调用axis-admin命令去发布 webservice到你的项目中下面的部分ant 是我目前创建用来生成服务器端代码 和 发布:
<target name="createserverstub">
<axis-wsdl2java serverside="true" url="WrappedService.wsdl">
<mapping namespace="http://ttdev.com/wrappedservice" package="com.ttdev.wrappedservice"/>
</axis-wsdl2java>
</target><target name="deploy">
<axis-admin url="http://localhost:8080/WrappedService/servlet/AxisServlet"
xmlfile="src/com/ttdev/ss/deploy.wsdd"/>
</target>
如果你要是在WEB工程中发布个别类作为WEBSERVICE接口,或者工程中用到IBATIS等读配置文件的架框时建议使用AXIS1。毕竟打AAR包时还是有些小麻烦的。
package part;public class Hello {
public String echo(String name){
return "echo: "+name;
}
}
表示我开发的这个WEB SERVICE会接受一个名字,然后返回一个echo加名字:
编译后放在part文件夹下面,在part同级目录下运行如下命令(当然首先你必须先在电脑上配置好AXIS2)
%AXIS2_HOME%\bin\java2wsdl -cp . -cn part.Hello -of Hello.wsdl
然后会生成一个文件Hello.wsdl,在运行:
%AXIS2_HOME%\bin\WSDL2Java -uri Hello.wsdl -p part.skeleton -d adb -s -ss -sd -ssi -o build\service
这样就会生成一些JAVA类(生成了一个build文件夹,JAVA类在这文件夹里),这些类就是服务器端的代码,然后里面有个
HelloSkeleton.java,里面会有个方法要你自己处理下,也就是你想返回什么都在这方法里设置,
然后再build文件夹下运行ant(推荐使用1.7.x版本,AXIS2和ant都可以到www.apache.org里面下),然后你就可以在生产的目录里找到Hello.aar文件,把这个文件放到%TOMCAT_HOME%\webapps\axis2\WEB-INF\services下就可以了,在浏览器里输入http:\\localhost:8080\axis2,你就会发现里面有个services链接,点进去就会发现hello这个服务。
AXIS2不只有.aar的发布形式
同学们可看下他的quickstart应该有相应的API
将生成的class类放在WEB-INF/com文件夹/xxx.class xxxx.class
并在axis2.xml 发布的路径中加入自己的路径
<deployer extension=".class" directory="com" class="org.apache.axis2.deployment.POJODeployer"/> 默认为 pojo
客户端调用即可