java实现webservice实例

1.首先创建个WEB工程,然后:http://ws.Apache.org/axis/网站下载Axis安装包.当然还依赖其他包的。
2.创建类以及需要对外提供的方法
package com.cn.test;
public class ServiceMehtod {
        public String getInfo(String str1,String str2,String str3)
        {
                     return "ServiceMehtod:getInfo() =====>str1="+str1+";str2="+str2+";str3="+str3;
        }
}
2.创建server-config.wsdd文件(放在WebRoot/WEB-INF目录下,和wen.xml属于同一级目录)
<?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>
     <parameter name="disablePrettyXML" value="true"></parameter>
     <parameter name="dotNetSoapEncFix" value="true"></parameter>
     <parameter name="enableNamespacePrefixOptimization" value="false"></parameter>
     <parameter name="sendXMLDeclaration" value="true"></parameter>
     <parameter name="sendXsiTypes" value="true"></parameter>
     <paramenter name="attachments.implementataion" value="org.apache.axis.attachments.AttachmentsImpl"></paramenter>
  </globalConfiguration>
  <handler type="java:org.apache.axis.handlers.http.URLMapper" name="URLMapper"></handler>
  <service name="Login.jws" provider="java:RPC">
    <parameter name="className" value="com.cn.test.SayHello"/>
    <parameter name="scope" value="request"></parameter>
    <parameter name="allowedMethods" value="*"/>
    <parameter class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"></parameter>
  </service>
  <service name="ServiceMethod.jws" provider="java:RPC">
    <parameter name="className" value="com.cn.test.ServiceMehtod"></parameter>
    <parameter name="scope" value="request"></parameter>
    <parameter name="allowedMethods" value="*"></parameter>
    <parameter name="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"></parameter>
  </service>
  <transport name="http">
    <requestFlow>
       <handler type="URLMapper"></handler>
    </requestFlow>
  </transport>
</deployment>
3.启动tomact,在浏览器地址栏里输入:http://localhost:8080/HelloWebService/services,就可以看见所提供的方法



 
4.编写Client代码

package com.cn.test.client;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
public class TestClient {
        public static void main(String[] args) throws Exception{
                getServiceMehtod();
        }
                 public static void getServiceMehtod() throws Exception
        {
                //指出service所在的URL
                      String url="http://localhost:8080/HelloWebService/services/ServiceMethod.jws";
                //创建一个服务调用
                Service service=new Service();
                //通过service创建call对象
                Call call=(Call)service.createCall();
                //设置service所在的URL
                call.setTargetEndpointAddress(new java.net.URL(url));
                //方法名与webservice里的方法名一致
                call.setOperationName("getInfo");
                String result=(String)call.invoke(new Object[]{"测试1","测试2","测试3"});
                System.out.println(result);
        }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值