Java-WebService简单的发布及调用

Java-WebService简单的发布及调用

Java-WebService简单的发布及调用

一、WebService的发布

1、创建接口类,接口中定义一个测试方法,加上@WebService注解,name做为服务的名称,可以自己定义,targetNameSpace一般是http:// + 类所在包从后往前排

package com.harper.webservice.service;

import javax.jws.WebParam;

import javax.jws.WebService;

/**

* @author Harper

* @Description 描述

* @date 2021/3/18 15:55

*/

@WebService(name = "testService", targetNamespace = "http://service.webservice.harper.com")

public interface WebServiceTestService {

/**

* webservice类

*

* @param name 参数名称

* @return 结果

*/

String webServiceTest(@WebParam(name = "name") String name);

}

2、创建接口对应的实现类,并实现接口定义的方法

package com.harper.webservice.service;

import com.harper.webservice.service.WebServiceTestService;

import javax.jws.WebService;

/**

* @author Harper

* @Description 描述

* @date 2021/3/18 15:57

*/

@WebService(serviceName = "testService",

targetNamespace = "http://service.webservice.harper.com",

endpointInterface = "com.harper.webservice.service.WebServiceTestService")

public class WebServiceTestServiceImpl implements WebServiceTestService {

@Override

public String webServiceTest(String name) {

return name + ":Hello World!";

}

}

3、创建WebService发布方法

package com.harper.webservice;

import com.harper.webservice.service.WebServiceTestServiceImpl;

import javax.xml.ws.Endpoint;

/**

* @author Harper

* @Description 描述

* @date 2021/3/18 15:57

*/

public class WebServiceServerTest {

public static void main(String[] args) {

Endpoint.publish("http://localhost:12345/test", new WebServiceTestServiceImpl());

System.out.println("【WebService发布成功】");

}

}

4、运行完之后在浏览器访问Endpoint.publish中设置的地址 + ?wsdl,如果看见如下图所示效果,即为发布成功。

二、WebService的调用

1、使用IDEA的WebServices生成WebServices调用的相关代码,如下图所示;

2、第二张图中第一个参数填WebService的地址,第二和第三是自己选择代码输出的位置,第四个选择图中所示选项,最后点击OK即可。

3、最后编写测试的代码即可运行

package com.harper.webservice;

import com.harper.webservice.test.TestService;

import javax.xml.namespace.QName;

import javax.xml.ws.Service;

import java.io.IOException;

import java.net.URL;

/**

* @author Harper

* @Description 描述

* @date 2021/3/18 16:03

*/

public class WebServiceClientTest{

public static void main(String[] args) throws IOException {

URL wsdlUrl = new URL("http://localhost:12345/test?wsdl");

Service service = Service.create(wsdlUrl, new QName("http://service.webservice.harper.com", "testService"));

TestService testService = service.getPort(new QName("http://service.webservice.harper.com", "WebServiceTestServiceImplPort"), TestService.class);

System.out.println("【结果】:" + testService.webServiceTest("Harper"));

}

}

4、运行结果展示

相关文章

含有畏的成语(带畏的成语有哪些)(40个)
365dni是真的吃吗

含有畏的成语(带畏的成语有哪些)(40个)

08-03 阅读: 9649
软考一般要多久能考到证,考试难不难
28365365bet官网

软考一般要多久能考到证,考试难不难

09-20 阅读: 1512
望庐山瀑布原文、翻译及赏析、拼音版及朗读
365dni是真的吃吗

望庐山瀑布原文、翻译及赏析、拼音版及朗读

10-07 阅读: 1245
vivi是什么牌子手机
365bet国际娱乐网址

vivi是什么牌子手机

08-23 阅读: 3018
女篮世界杯-美国大胜澳大利亚夺冠 西班牙获季军
308标致新款车型怎么样
28365365bet官网

308标致新款车型怎么样

09-21 阅读: 5792