
怎么将自己写好的java web 应用 发布为axis的webservice?
在网上看到很的axis发布的webservice都是将写好的类编译之后复制到axis的WEB-INF目录下面,然后在这个目录编写发布wsdd文件,为什么要这么做??感觉离...
在网上看到很的axis发布的webservice都是将写好的类编译之后复制到axis
的WEB-INF目录下面,然后在这个目录编写发布wsdd文件,为什么要这么做?
?感觉离不开axis这个目录,我可以将送自己写好的java web应用发布为
axis 的webservice 么? 展开
的WEB-INF目录下面,然后在这个目录编写发布wsdd文件,为什么要这么做?
?感觉离不开axis这个目录,我可以将送自己写好的java web应用发布为
axis 的webservice 么? 展开
展开全部
可以,先在web.xml中添加配置
<servlet>
<servlet-name>AxisServlet</servlet-name>
<servlet-class>org.apache.axis2.transport.http.AxisServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet>
<servlet-name>AxisAdminServlet</servlet-name>
<!-- <servlet-class>org.apache.axis2.webapp.AxisAdminServlet</servlet-class> //tomcat used-->
<servlet-class>org.apache.axis2.transport.http.AxisAdminServlet</servlet-class><!-- resin used -->
</servlet>
<servlet-mapping>
<servlet-name>AxisServlet</servlet-name>
<url-pattern>/servlet/AxisServlet</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>AxisServlet</servlet-name>
<url-pattern>*.jws</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>AxisServlet</servlet-name>
<url-pattern>/services/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>AxisAdminServlet</servlet-name>
<url-pattern>/axis2-admin/*</url-pattern>
</servlet-mapping>
再,在WebRoot\WEB-INF\services下创建这个目录
目录下创建services.list文件,里面写xxx.aar
自己创建这个xxx.aar
新建文件夹:META-INF
在这个目录下新建文件:MANIFEST.MF 内容:Manifest-Version: 1.0
Created-By: 1.5.0_04 (Sun Microsystems Inc.)
在这目录下再新建一个文件:services.xml 内容 <service name="BacklogCenterService">
<description>Weather Spring POJO Axis2 AAR deployment For Person</description>
<parameter name="ServiceClass" locked="false">com.eetrust.docentre.webservice.server.impl.BacklogCenterServiceImpl</parameter>
<parameter name="ServiceObjectSupplier" >org.apache.axis2.extensions.spring.receivers.SpringAppContextAwareObjectSupplier</parameter>
<parameter name="SpringBeanName" >backlogCenterService</parameter>
<messageReceivers>
<messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out"
class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>
<messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only"
class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver"/>
</messageReceivers>
</service>
BacklogCenterService这个是发布出去的名字,com.eetrust.docentre.webservice.server.impl.BacklogCenterServiceImpl这个是具体的实现类
<servlet>
<servlet-name>AxisServlet</servlet-name>
<servlet-class>org.apache.axis2.transport.http.AxisServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet>
<servlet-name>AxisAdminServlet</servlet-name>
<!-- <servlet-class>org.apache.axis2.webapp.AxisAdminServlet</servlet-class> //tomcat used-->
<servlet-class>org.apache.axis2.transport.http.AxisAdminServlet</servlet-class><!-- resin used -->
</servlet>
<servlet-mapping>
<servlet-name>AxisServlet</servlet-name>
<url-pattern>/servlet/AxisServlet</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>AxisServlet</servlet-name>
<url-pattern>*.jws</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>AxisServlet</servlet-name>
<url-pattern>/services/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>AxisAdminServlet</servlet-name>
<url-pattern>/axis2-admin/*</url-pattern>
</servlet-mapping>
再,在WebRoot\WEB-INF\services下创建这个目录
目录下创建services.list文件,里面写xxx.aar
自己创建这个xxx.aar
新建文件夹:META-INF
在这个目录下新建文件:MANIFEST.MF 内容:Manifest-Version: 1.0
Created-By: 1.5.0_04 (Sun Microsystems Inc.)
在这目录下再新建一个文件:services.xml 内容 <service name="BacklogCenterService">
<description>Weather Spring POJO Axis2 AAR deployment For Person</description>
<parameter name="ServiceClass" locked="false">com.eetrust.docentre.webservice.server.impl.BacklogCenterServiceImpl</parameter>
<parameter name="ServiceObjectSupplier" >org.apache.axis2.extensions.spring.receivers.SpringAppContextAwareObjectSupplier</parameter>
<parameter name="SpringBeanName" >backlogCenterService</parameter>
<messageReceivers>
<messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out"
class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>
<messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only"
class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver"/>
</messageReceivers>
</service>
BacklogCenterService这个是发布出去的名字,com.eetrust.docentre.webservice.server.impl.BacklogCenterServiceImpl这个是具体的实现类
展开全部
其实很多东西都是很灵活的,这个是项目设计的原则。axis是开源的项目,目录什么的都可以自己修改的。以上都是些废话,可以忽略。
web-inf目录下面有个classes目录,是存放编译好的之后的文件的。一般是默认的目录,也可以不放在这里,放在其它的目录需要你指定路径,这样运行的时候才能知道。
建议你看一下webservice的入门教程,写一个helloworld的小程序,一开始学习的时候,可以死记硬背一些配置的方式,之后你熟悉了就可以思考一下其中的原理就会达到举一反三,电脑是死的,程序也是死的,如何配置就好比程序员给程序建立好了一些路,程序要按照这些路线去运行,
web-inf目录下面有个classes目录,是存放编译好的之后的文件的。一般是默认的目录,也可以不放在这里,放在其它的目录需要你指定路径,这样运行的时候才能知道。
建议你看一下webservice的入门教程,写一个helloworld的小程序,一开始学习的时候,可以死记硬背一些配置的方式,之后你熟悉了就可以思考一下其中的原理就会达到举一反三,电脑是死的,程序也是死的,如何配置就好比程序员给程序建立好了一些路,程序要按照这些路线去运行,
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你说的是方法只是一种发布方式
如果你用spring webservice变的更加简单
根本不需要什么WSDD 也不需要将你的class放在aar格式的压缩文件里
SpringAppContextAwareObjectSupplier 这是spring提供的工具类
具体做法如有问题可以再问
还有就是传统的将通过WSDD文件发布WSDL
如果你用spring webservice变的更加简单
根本不需要什么WSDD 也不需要将你的class放在aar格式的压缩文件里
SpringAppContextAwareObjectSupplier 这是spring提供的工具类
具体做法如有问题可以再问
还有就是传统的将通过WSDD文件发布WSDL
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
楼上写那么多应该正解吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询