基于axis的webService的创建

来源:互联网 发布:ajax 返回json eval 编辑:程序博客网 时间:2024/05/19 04:26

1.从入司到目前为止,一共有两次要使用到webservice接口

a.短信接口,这次的接口,其实只是我单方面的使用对方的短信接口,对方给我返回值,在具体的使用上,已经在以前博客里面有介绍了。

b.传输数据接口,主要是双方系统的交互,对方系统要获取我们这边系统的部分数据,所以我们这边使用了这个接口。

2.下面介绍代码具体实现。

a.先导入jar包
这里写图片描述

b.先新建一个web项目,在项目WEB-INF下面的web.xml进行第一步配置
<servlet>     <servlet-name>AxisServlet</servlet-name>     <servlet-class>org.apache.axis.transport.http.AxisServlet</servlet-class></servlet><servlet-mapping>        <servlet-name>AxisServlet</servlet-name>        <url-pattern>/servers/*</url-pattern>        **这里是配置webservice的路径**</servlet-mapping>**如果项目中有拦截器的,记得不要拦截这个路径。**
c.在web.xml同级目录下,新增一个配置文件server-config.wsdd,  (上面的图片中可以看到)
<?xml version="1.0" encoding="UTF-8"?><deployment xmlns="http://xml.apache.org/axis/wsdd/"    xmlns:java="http://xml.apache.org/axis/wsdd/providers/java"><globalConfiguration>    <parameter name="sendMultiRefs" value="true" />    <parameter name="disablePrettyXML" value="true" />    <parameter name="dotNetSoapEncFix" value="true" />    <parameter name="enableNamespacePrefixOptimization" value="false" />    <parameter name="sendXMLDeclaration" value="true" />    <parameter name="sendXsiTypes" value="true" />    <parameter name="attachments.implementation"    value="org.apache.axis.attachments.AttachmentsImpl" />    </globalConfiguration><handler type="java:org.apache.axis.handlers.http.URLMapper" name="URLMapper" />    **下面的service name=""配置的是服务名,    <service name="hello" provider="java:RPC">    **下面的value是你的webservice类所在包的路径        <parameter name="className" value="server.HelloWorld" />        <parameter name="scope" value="request" />        <parameter name="allowedMethods" value="*" />     <messageReceiverclass="org.apache.axis2.receivers.RawXMLINOutMessageReceiver" />    </service>    <transport name="http">        <requestFlow>            <handler type="URLMapper" />        </requestFlow></deployment>
d.展示我的webservice类所在的目录结构

这里写图片描述

e.最后是类的编写
package server;public class HelloWorld {    public String getName(String name) {        return "hello====>" + name;    }    public String dockInfoInsert(String dateSource) {        String a = "{测试数据接口成功}";        return a;    }   }

f.测试结果
这里写图片描述

g.具体怎样连接测试接口的方法在另外一篇有介绍。(包括自己写工具和Myeclipse生成工具两种方法)h.最后直接访问:
http://127.0.0.1:8080/axis/servers/hello?wsdl,可以访问,就代表接口部署成功    1)127.0.0.1,这个Ip是你接口部署服务器所在网络ip    2)8080 端口号    3)axis 项目名称(测试demo没有使用拦截器)    4)servers 路径(web.xml中配置过)    5)hello 服务名(server-config.wsdd中配置的) 

i.至此,一个简单的webservice实例就搭建完成了。在项目具体使用过程中碰到了一个问题,那就是向数据库进行注入的时候,无法使用hibernate进行注入,只能进行最原始的jdbc进行注入,目前还没有找到解决方法。

j.今后碰到问题再继续补充。新手出品。

1 0
原创粉丝点击