java 搭建webservice服务+testclient測试

整理别人的日志:

一、什么是webservice

一种构建应用程序的普遍模型,能够在不论什么支持网络通信的操作系统中执行。一种新的web应用程序分支,能够公布、定位通过web调用。它是一个应用组件,为其它应用程序提供数据与服务,各应用程序通过网络协议和规定的一些标准数据格式(http、xml、soap)来訪问webservice,通过web service内部执行得到所需的结果。

二、关键的技术和一些规则:

1、xml:描写叙述数据的标准方法。

2、soap:表示信息交换的协议。

3、wsdl:web服务描写叙述语言。

4、uddi:通用描写叙述、发现与集成。一种独立于平台的,基于xml语言的用于在网络上描写叙述商务的协议。

XML:

 可扩展的标记语言(XML)是Web service平台中表示数据的基本格式。除了易于建立和易于分析外,XML基本的长处在于它既是平台无关的。又是厂商无关的

无关性是比技术优越性更重要的:软件厂商是不会选择一个由竞争对手所发明的技术的。

soap:

soapweb service的标准通信协议,soap为simple object access protocoll的缩写,简单对象訪问协议. 它是一种标准化的传输消息的XML消息格式

wsdl:

wsdl的全称是web service Description Language,是一种基于XML格式的关于web服务的描写叙述语言

其主要目的在于web service的提供者将自己的web服务的全部相关内容,如所提供的服务的传输方式。服务方法接口。接口參数,服务路径等。生成对应的全然文档,公布给使用者。使用者可以通过这个WSDL文档。创建对应的SOAP请求消息。通过HTTP传递给webservice提供者。web服务在完毕服务请求后,将SOAP返回消息传回请求者。服务请求者再依据WSDL文档将SOAP返回消息解析成自己可以理解的内容。

uddi:

 将web service进行UDDI注冊公布,UDDI是一种创建注冊表服务的规范,以便大家将自己的web service进行注冊公布供使用者查找.然而当服务提供者想将自己的web service向全世界发布,以便外部找到其服务时,那么服务提供者能够将自己的web service注冊到对应的UDDI商用注冊站点,眼下全球有IBM等4家UDDI商用注冊站点。由于WSDL文件里已经给定了web service的地址URI,外部能够直接通过WSDL提供的URI进行对应的web service调用。

所以UDDI并非一个必需的web service组件,服务方全然能够不进行UDDI的注冊。

创建并公布自己的WEB SERVICE

1、创建一个webservice项目

在这里,在弹出来的信息框中我们使用JAX-WS方式。

JAX-WS:Jax-WS是Java1.6中才有的,新的WebService模式,基于注解的方式配置WebService,非常类似Asp中的WebService,难度已经比Xfire方式的配置减少了非常多.

REST(JAX-RS):用的比較少

    Xfire(已过时): 配置比較繁琐

  创建Service中的包及类库。实现自己的业务。

  创建用户管理系统:

例如以下:创建UserInfo 类。

package xiaoxing.ms.userservice;

public class UserInfo {

    public String GetUserInfo()
    {
	 return "Tracy McGrady";
    }
    
}

公布WebService:如图找到Myeclipse中公布button:

接着:

【next,然后看到以下的界面】

【提醒注意勾选复选框“Generate WSDL in project”】

【找到自己刚開始新建的类文件,然后点击“ok”】

【配置自己的tomcat,这个就不用说了。,。须要说明的是,自己的tomcat 的JDK选择自己系统安装的jdk】

【选中你的项目,然后開始加入库文件】

【在弹出的信息框。然后选择例如以下信息】

【启动你配置好的tomcat】

【然后找到Myeclipse的项目部署button,開始部署】

【依照以下的操作。完毕部署】

【以上到此一个简单的服务端配置完毕:然后再浏览器中測试一下】

http://localhost:911/UserMgrService/UserInfoPort?wsdl

出现以下信息。则应该是正常的。

【创建client,測试】

【1、新建一个java项目】

【2、client公布】

【3、配置url】

【然后项目中自己主动生成文件】

最后创建一个test类

package xiaoxing.ms.test;

import xiaoxing.ms.userservice.UserInfoDelegate;
import xiaoxing.ms.userservice.UserInfoService;

public class TestMS {

    public static void main(String[] args) {
	UserInfoService userinfoWS=new UserInfoService();
	UserInfoDelegate userinfoDel=userinfoWS.getUserInfoPort();
	System.out.println(userinfoDel.getUserInfo());
    }
}

假设控制台输出。你在服务端创建时的name。那么应该是Ok的




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我可以为您提供相关的步骤和代码示例。 首先,我们需要在Spring Boot项目中添加以下依赖: ```xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web-services</artifactId> </dependency> ``` 接着,我们需要创建一个WebService,可以在Spring Boot项目中创建一个新的类,例如: ```java import javax.jws.WebMethod; import javax.jws.WebService; @WebService public class MyWebService { @WebMethod public String sayHello(String name) { return "Hello, " + name + "!"; } } ``` 此时,我们已经创建了一个简单的WebService,其中包含一个`sayHello`方法,用于返回传入的参数加上一句问候语。 然后,我们需要在Spring Boot项目中添加一个配置类,用于配置WebService的相关信息,例如: ```java import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.remoting.jaxws.SimpleJaxWsServiceExporter; @Configuration public class WebServiceConfig { @Bean public SimpleJaxWsServiceExporter simpleJaxWsServiceExporter() { SimpleJaxWsServiceExporter exporter = new SimpleJaxWsServiceExporter(); exporter.setBaseAddress("http://localhost:8080/services/"); return exporter; } } ``` 在上述配置中,我们使用了`SimpleJaxWsServiceExporter`类,它可以自动将`@WebService`注解的类发布为WebService,并且可以使用`setBaseAddress`方法设置WebService的访问地址。 最后,我们可以使用Java客户端来访问我们创建的WebService,例如: ```java import java.net.URL; import javax.xml.namespace.QName; import javax.xml.ws.Service; public class MyWebServiceClient { public static void main(String[] args) throws Exception { URL url = new URL("http://localhost:8080/services/MyWebService?wsdl"); QName qname = new QName("http://webservice.springboot.example.com/", "MyWebServiceService"); Service service = Service.create(url, qname); MyWebService myWebService = service.getPort(MyWebService.class); String result = myWebService.sayHello("World"); System.out.println(result); } } ``` 在上述代码中,我们使用了Java标准库中的`javax.xml.ws.Service`类来访问我们创建的WebService,并且使用了`MyWebService`接口来调用`sayHello`方法。 以上就是使用Spring Boot和WebService搭建WebService服务端及使用Java客户端的简单示例,希望对您有所帮助。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值