首页 > 其他分享 >WebService的简单使用

WebService的简单使用

时间:2023-05-28 23:31:58浏览次数:42  
标签:java WebService 简单 使用 服务器 webservice class MyFirstWebService String

1.创建服务端-java项目

@WebService
public class MyFirstWebService {
    /**
     * 定义webservice服务器中的方法
     * @param content
     * @return
     */
    public String testWebService(String content){
        System.out.println("我收到了你发的信息:" + content);
        return "服务器:我转发信息给你";
    }
    
    public static void main(String[] args){
    /*  InetAddress addr = null;
        try {
            addr = InetAddress.getLocalHost();
        } catch (UnknownHostException e) {
            e.printStackTrace();
        }
        String hostAddress = addr.getHostAddress();
        System.out.println(hostAddress);*/

        //定义自己的webservice服务器发布的地址  MyFirstWebService 为服务器名称
        //部署到服务器时 需要将ip改为 0.0.0.0 外网才可以访问
        String address = "http://"+"0.0.0.0"+":10086/MyFirstWebService"; //这个9090端口随便定义,只要不冲突即可
        //通过该方法进行发布
        Endpoint.publish(address, new MyFirstWebService());
        //打印一句话,表示一下服务器进行了开启
        System.out.println("my webservcie starting");
    }
}

2.发布到服务器

打成jar包后 
复制到服务器
java -jar xxxxx.jar 运行即可
# 注意外网访问必须是 0.0.0.0

3.访问

http://xxx.xxx.xxx.xxx:10086/MyFirstWebService?wsdl
出现xml即成功

4.本地解析服务

客户端项目目录下(src\main\java) cmd 运行命令
wsimport -s . http://152.136.150.136:10086/MyFirstWebService?wsdl

5.创建Main测试

方式一


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

方式二 QName

public class QNameMain {
    public static void main(String[] args) throws MalformedURLException {
        //创建一个连接(地址对应的就是webservice服务器中的地址)
        URL wsdlDocumentLocation = new URL("http://xxx.xxx.xxx.xxx:10086/MyFirstWebService?wsdl");
        //这个参数,主要是根据我们设定的webService的接口来进行的
        //  QName serviceName = new QName("http://webservice.scw.hnu.com/","MyFirstWebServiceService");
        //这里第一个参数是包名 倒序 //如果错误 会报错 可以根据报错的修改
        QName serviceName = new QName("http://webservice.example.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);
    }
}

6.备注

第4步解析后生成文件

com/example/webservice   (与服务端相同)
文件包括: (仅保留.java文件即可)
MyFirstWebService.class
MyFirstWebService.java (接口,主要使用的方法)
MyFirstWebServiceService.class
MyFirstWebServiceService.java
ObjectFactory.class
ObjectFactory.java
package-info.class
package-info.java
TestWebService.class
TestWebService.java
TestWebServiceResponse.class
TestWebServiceResponse.java




标签:java,WebService,简单,使用,服务器,webservice,class,MyFirstWebService,String
From: https://blog.51cto.com/u_16085354/6366766

相关文章

  • Typora工具使用
    Markdown语法学习标题一级标题:#+空格+标题名字;N级标题:n个#+空格+标题名字;最多六级标题。例如:四级标题五级标题字体1.加粗Helloworld!2.斜体HelloWorld!3.加黑+斜体Helloworld!引用大于号+''努力小喵的博客地址:https://www.cnblogs.com/wrpriblogs/分割线......
  • 这是道简单的初中物理问题,但本人数学不好,给不出证明
    数学吧  《这是道简单的初中物理问题,但本人数学不好,给不出证明》    https://tieba.baidu.com/p/8432343642    。 这题 既有物理, 又有数学, 很有趣, 是有模有样的趣味科学,  延伸一下, 还会延伸到计算误差耦合 。  误差耦合 见  ......
  • Qt线程简单使用一:QThread~创建线程类子类
     需求:点击QPushButton按钮,QLabel中的数字,不断累加,一直到999。 做法:点击QPushButton后,启动线程,线程while循环,不断发送累加的数字回主线程,修改QLabel中的数字 其他:这种线程的写法是最简单的,全部是Qt封装好的,只需要重写run函数就可以了。 主要代码://......
  • 你正在错误使用ChatGPT!怎么样使用能超过99%的ChatGPT使用者
    目录一些镜头标准提示角色提示给提示词增加个性并且生成知识思考提示的链条我们大多数人错误使用了ChatGPT。在提示信息中,我们不使用例子。我们忽略的信息是我们可以通过角色(扮演)控制ChatGPT的行为。我们让ChatGPT猜测(提供)材料,而不是提供给它一些信息。这些情况发生是因为我......
  • 首个大规模使用工具的大模型来了:伯克利发布Gorilla
    前言 OneAItorulethemall.本文转载自机器之心欢迎关注公众号CV技术指南,专注于计算机视觉的技术总结、最新技术跟踪、经典论文解读、CV招聘信息。CV各大方向专栏与各个部署框架最全教程整理【CV技术指南】CV全栈指导班、基础入门班、论文指导班全面上线!!大型语言模型......
  • 仅仅是调用第三方接口那么简单吗?
    最近有个项目需要本地处理之后,然后调用第三方接口,本来开始觉得很简单得事情,不就是调用第三方接口吗?但是却一波三折。初版首先有了下面的第一版的设计。这个设计很简单,也是最容易想到的。主要有下面几步1、本地处理;2、调用第三方接口;3、本地日志打印,包括是否调用成功及失败......
  • Python 使用ConfigParser操作ini配置文件
    ini配置文件格式如下要求:ini文件必须是GBK编码,如果是UTF-8编码,python读取配置文件会报错。#这里是注释内容#[FY12361]#妇幼保健接口服务端口serverIP=192.168.1.11serverPort=8400[SM]#国产SM加密服务端口serverIP=192.168.1.11serverPort=8500说明:1.注释内容......
  • C#中使用using进行资源管理的的类型有哪些?
    在C#中,实现IDisposable接口的类型可以使用using语句进行资源管理,具体如下:1. System.IO.Stream:表示字节流的抽象类。它是所有文件I/O操作的基类,包括文件读取和写入。using(Streamstream=newFileStream("file.txt",FileMode.Open)){//使用stream对象进行文件读取操......
  • const和assert的使用方法
    首先我们先简单的使用函数来模拟完成一个strcpy函数。#include<stdio.h>voidmy_strcpy(char*dest,char*src){ while(*src!='\0') { *dest=*src; dest++; src++; } *dest=*src;}intmain(){ chararr1[]="abcdefg"; chararr2[]={0}......
  • Gitlab简单使用与配置
    添加组,创建用户,创建项目 创建组:    ......