WebService入门介绍

参考文献:
https://blog.csdn.net/cs_hnu_scw/article/details/80181762

创建服务器webService

package com.william.TestWebService;
import javax.jws.WebService;
import javax.xml.ws.Endpoint;

@WebService
public class MyFirstWebService {
	/**
	 * 定义webservice服务器中的方法
	 * @param content
	 * @return
	 */
	public String testWebService(String content){
		System.out.println("我收到了你发的信息:" + content);
		return "服务器:我转发信息给你";
	}
	
	public static void main(String[] args){
		//定义自己的webservice服务器发布的地址
		String address = "http://localhost:9191/MyFirstWebService"; //这个9191端口随便定义,只要不冲突即可
		//通过该方法进行发布
		Endpoint.publish(address, new MyFirstWebService());
		//打印一句话,表示一下服务器进行了开启
		System.out.println("my webservcie starting");
	}

}

解析WebService服务器的内容

在这里插入图片描述
操作:在cmd命令行中执行:wsimport -s . http://localhost:9191/MyFirstWebService?wsdl
结果:这样的话,就会在你执行这句话的目录下面生成对应的服务器的代码(包括.class文件和.java文件)
在这里插入图片描述

创建客户端服务器webServiceClient

首先是把上面得到的代码中的.java文件(请注意,.class文件就不需要)拷贝到我们新建的一个客户端的java项目中

package com.william.testwebservice;

import org.junit.Test;

public class MyTestWebService {
	@Test
	public void testWebService(){
		//获取webservice服务器对象(这里的类名,其实是从wsdl文件中的servicename标签中进行获取的)
		MyFirstWebServiceService myFirstWebServiceService = new MyFirstWebServiceService();
		//获取到我们自定义的webservice的对象
		MyFirstWebService myFirstWebServicePort = myFirstWebServiceService.getMyFirstWebServicePort();
		//调用service服务器中的方法
		String receivedInfo = myFirstWebServicePort.testWebService("您好,webservice 服务器");
		//打印从服务器的方法中得到的返回值,测试表示收到了服务器返回的内容
		System.out.println("服务器返回的内容是:" + receivedInfo);		
	}
}

注意

在这里插入图片描述

QName调用方式

package com.william.testwebservice;

import java.net.MalformedURLException;
import java.net.URL;

import javax.xml.namespace.QName;
import javax.xml.ws.Service;

import org.junit.Test;

public class MyTestQNameWebService {
	@Test
	public void test() throws MalformedURLException{
		//创建一个连接(地址对应的就是webservice服务器中的地址)
		URL wsdlDocumentLocation = new URL("http://localhost:9090/MyFirstWebService?wsdl");
		//这个参数,主要是根据我们设定的webService的接口来进行的
		QName serviceName = new QName("http://TestWebService.william.com/","MyFirstWebServiceService");
		Service ws = Service.create(wsdlDocumentLocation , serviceName );
		//获取到调用的对象内容
		MyFirstWebService port = ws.getPort(MyFirstWebService.class);
		//方法的调用
		String result = port.testWebService("my name is scw");
		System.out.println(result);
	}
}

在这里插入图片描述
参考文献:
https://blog.csdn.net/cs_hnu_scw/article/details/80181762

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值