欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

WebService入门介绍

发布时间:2023/12/3 编程问答 49 豆豆
生活随笔 收集整理的这篇文章主要介绍了 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 {@Testpublic 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 {@Testpublic 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

总结

以上是生活随笔为你收集整理的WebService入门介绍的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。