发布WebService服务

环境:eclipse  jdk:1.7  tomcat


1、创建一个web项目   File  --  Dynamic Web Project



2、创建一个类

import javax.jws.WebMethod;
import javax.jws.WebService;
import javax.xml.ws.Endpoint;
/**
 *  @WebService - 它是一个注解,用在类上指定将此类发布成一个ws.Endpoint
 * – 此类为端点服务类,它的方法publish用于将一个已经添加了@WebService注解对象绑定到一个地址的端口上。
 */
@WebService
public classHelloWebService {
    publicString HelloWord(String name){
        return"Hello: "+name;
    }
/**
 *添加exclude=true后,HelloWord2()方法不会被发布
 * @param name
 * @return
 */
    @WebMethod(exclude=true)
    publicString HelloWord2(String name){
        return"Hello: "+name;
    }
    publicstatic void main(String[] args) {
    /**
     *参数1:服务的发布地址(http://192.168.43.173/HelloWebService)
     *参数2:服务的实现者
     */
    Endpoint.publish("服务发布地址",new HelloWebService());
    }
}

3、webService 测试

http://192.168.43.173/HelloWebService?wsdl


4、WebService的调用

1.新建一个class类,用于调用webservice。右键src,找到Web Service Client,并输入wsdl地址,选择下载代码的路径;

url: http://192.168.43.173/HelloWebService?wsdl




2.将地址上的文件下载下来(注意和发布JDK一致); 
3.写调用方法调用下载下来的WebService中的java类中的方法; 

示例:


import javax.xml.rpc.ServiceException;

import com.amc.tt.HelloWebService;
import com.amc.tt.HelloWebServiceServiceLocator;

/**
 * 
* Title: JwsClientHello
* Description: webService 客户端调用
* Version:1.0.0  
* @author panchengming
 */
public class JwsClientHello {

    public static void main(String[] args) {
         //调用webservice
    	try {
    		HelloWebService hellow =	new HelloWebServiceServiceLocator().getHelloWebServicePort();
    		String req = hellow.sendSMS("17610069650", "这是测试。");
    		System.out.println(req);
    	} catch (Exception e) {
			
		e.printStackTrace();
	}

    }
}

参考:https://blog.youkuaiyun.com/qq_27376871/article/details/51994418

          https://blog.youkuaiyun.com/qazwsxpcm/article/details/70370490

另一种方式:使用wsimport命令生成webService客户端代码实例

cmd  



wsimport -s G:\JAVA_SSM\demo\src -p userwebService http://localhost:5080/openmeetings/services/UserService?wsdl

-encoding : 指定编码格式

-keep:是否生成java源文件

-d:指定.class文件的输出目录

-s:指定.java文件的输出目录

-p:定义生成类的包名,不定义的话有默认包名

-verbose:在控制台显示输出信息

-b:指定jaxws/jaxb绑定文件或额外的schemas

-extension:使用扩展来支持SOAP1.2


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值