关于如何用JAVA发布并调用简单的WebService

关于如何用JAVA发布并调用简单的WebService


关于环境:eclipse for javeee,jdk1.8

发布

  1. 新建一个Java项目,并新建Hello类
    在这里插入图片描述
  2. 类名添加@WebService注解
package ws;

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

@WebService
public class Hello {

	public String HelloWorld(String name) {
		return "hello, " + name;
	}
	
	public static void main(String[] args) {
		Endpoint.publish("http://192.168.7.105:8888/hello", new Hello());
	}
}

其中Hello World方法是对外发布的,接收到name参数后会拼接个hello并返回
4. 绑定端口发布
绑定端口调用Endpoint类里的publish方法,需要传两个参数,一个是发布的地址,另一个是当前类对象。完成之后直接运行java application即可。

调用

  1. 页面访问ws的地址,注意正确地址为“http://192.168.7.105:8888/hello?wsdl”,
    在这里插入图片描述
  2. 打开后会见到如下页面,鼠标右键点击另存为,在出现的保存窗口中的保存类型选为所有文件,然后文件名后添加.wsdl,点击保存
    在这里插入图片描述
  3. 新建调用的项目,并在根目录下新建任意文件夹,将之前保存的文件粘贴到里面。
    在这里插入图片描述
  4. 点击hello.wsdl,选中,然后右键->new ->other,在出现的窗口中搜索web,找到Web Service Client,一直点击下一步,最后finish。在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  5. 点击finish后,一般会生成如下文件:
    在这里插入图片描述
    我这里生成了Hello.java,HelloService.java两个接口,HelloPortBindingStud.java,HelloProxy和HelloServiceLocator三个类,并自己新建了个Main类写调用的方法。
  6. 进入Main中,调用方法如下:
package ws;

import java.rmi.RemoteException;
import javax.xml.rpc.ServiceException;

public class Main {
	public static void main(String[] args) throws RemoteException, ServiceException {
		HelloService service = new HelloServiceLocator();
		HelloPortBindingStub serviceStub= (HelloPortBindingStub) service.getPort(HelloPortBindingStub.class);
		String test = serviceStub.helloWorld("张三");
		System.out.println(test);
	}
}

执行之后结果为:
在这里插入图片描述
调用成功

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值