ideaWebservice服务端与客户端

项目地址

spring webServices

一、发布一个webservice服务(jdk原生)

1.新建一个webService项目及其文件结构

1.1点击file->Project
在这里插入图片描述
1.2修改项目名称,点击finsh即创建webservice服务端项目
在这里插入图片描述
1.3文件整体结构
在这里插入图片描述

2.编写服务接口

package com.ly.web.service;

import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebService;

@WebService(name = "Login",// 定义Port名称
        serviceName = "MyService", // 修改WebService服务名称
        targetNamespace = "http://com.soft.ws/my" // 定义命名空间,默认为倒置的包名
)
public interface MyService {
    // 提供一个对外公开的服务
    @WebMethod(operationName = "authorization")
    // 修改方法名
    String authorization(@WebParam(name = "userId") String userId,
                         @WebParam(name = "password") String password);

3.服务实现类(注意返回的数据,就是客户端接收的数据)

package com.ly.web.service.imp;

import com.ly.web.service.MyService;

import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebService;

/**
 * 服务实现类
 */
@WebService(endpointInterface = "com.ly.web.service.MyService",
        name = "Login",// 定义Port名称
        serviceName = "MyService", // 修改WebService服务名称
        targetNamespace = "http://com.soft.ws/my" // 定义命名空间,默认为倒置的包名
//服务实现类和接口的注解要一样全
)
public class MyServiceImpl implements MyService {

    @WebMethod(operationName = "authorization" // 修改方法名
    )
    @Override
    public String authorization(
            @WebParam(name = "userId") String userId,
            @WebParam(name = "password") String password) {
        if ("admin".equals(userId) && "123456".equals(password)) {
            //客户端接收的数据
            return "http://localhost:8089/myservice";
        }
        return "error";
    }

}


4.发布服务

运行下面的代码 发布WebService服务

package com.ly.web.main;

import com.ly.web.service.MyService;
import com.ly.web.service.imp.MyServiceImpl;

import javax.xml.ws.Endpoint;

public class MyPublisher {
    public static void main(String[] args) {
        //指定服务url
        String url = "http://localhost:8089/myservice";
        //指定服务实现类
        MyService server = new MyServiceImpl();
        //采用命令行发布者Endpoint发布服务
        Endpoint.publish(url, server);
    }
}

5.浏览器查看是否发布成功

打开浏览器地址栏输入:http://127.0.0.1:8089/myservice?wsdl
结果如下:
webservice服务端

二、客户端调用方式

1、新建客户端项目
点击file->project(注意:这里是建立一个webservice的客户端)
在这里插入图片描述

修改项目名称,点击finsh即完成创建
在这里插入图片描述

2、点击finsh,默认会弹出一个窗口,如果,没有弹出该窗口,则项目右键->Webservices->Genereta Java Code From Wsdl,则可弹出
在这里插入图片描述

该窗口如下:配置完成后,点击OK即可(该操作是自动创建客户端代码创建)
在这里插入图片描述
创建项目目录如下:
在这里插入图片描述
打开WsClient.java进行编辑,(authorization(“admin”,“123456”)方法就是之前服务端定义的方法)

package com.service.main;

import com.service.MyService;
import com.service.MyServiceLocator;

import javax.xml.namespace.QName;
import javax.xml.ws.Service;
import java.net.URL;

public class WsClient {
    public static void main(String[] args) throws Exception {
        MyServiceLocator service = new MyServiceLocator();
        String tony = service.getLoginPort().authorization("admin","123456");
        System.out.println(tony);
    }
}

三、最后启动webservice的服务端(先启动)和客户端,则会看到从服务端传到客户端的结果(authorization(“admin”,“123456”)),即成功

在这里插入图片描述

  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值