在同一个WiFi下的两台电脑,使用webService 和 axis 实现接口调用

两台不同计算机的Java代码如何相互调用方法?可以使用webService技术。

首先是webService端,是服务发布端,就是服务提供者,被调用的接口。

package com.keerqin;

import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebService;
import javax.xml.ws.Endpoint;

//表明将此类发布
@WebService
public class test {
    //可以被调用的方法
    //@WebParam这个参数一定要写
    @WebMethod(operationName = "print")
    public String print(@WebParam(name="name") String name){
        System.out.println("你好"+name);
        return "你好"+name;
    }

    public static void main(String[] args) {
        //发布的地址
        Endpoint.publish("http://192.168.0.110:8081/Service/hello",new test());
        System.out.println("success");
    }
}

接下来是调用端,就是服务的使用的,接口的调用者

package com.test;

import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import org.junit.Test;

import javax.xml.namespace.QName;
import javax.xml.rpc.ParameterMode;
import javax.xml.rpc.encoding.XMLType;

public class client {
    @Test
    public void getService(){
        try {
            String endpoint = "http://192.168.0.110:8081/Service/hello";
            Service service = new Service();
            Call call = (Call) service.createCall();
            call.setTargetEndpointAddress(new java.net.URL(endpoint));
            //第一个参数稍后讲解,第二个参数为调用的方法名
            call.setOperationName(new QName("http://keerqin.com/","print"));
            //第一个参数为调用方法的参数名,对应注解WebParam
            call.addParameter("name", XMLType.XSD_STRING, ParameterMode.IN);
            // 返回值类型:String
            call.setReturnType(XMLType.XSD_STRING);
            //传递的参数的值
            String message = "科尔沁";
            String result = (String) call.invoke(new Object[] { message });// 远程调用
            System.out.println("result is " + result);
        } catch (Exception e) {
            System.err.println(e.toString());
        }
    }
}

关于

http://keerqin.com/

这个参数的获取,在历览器输入

http://192.168.0.110:8081/Service/hello?wsdl

取自上图红框中的值即可。

代码已经写完了。先在一台电脑上跑test类(WebSerivce),然后在另一台电脑上跑client类(axis)。就可以模拟实现接口调用了。

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值