JAVA项目中发布WebService服务——简单实例

1,在Java项目中发布一个WebService服务:

如何发布?

——JDK1.6JAX-WS规范定义了如何发布一个WebService服务;

(1)jdk1.6.0_21以后的版本发布;

(2)Web服务相关的类,都位于Javax.jws.*包中

        @WebService——此注解用在类上指定将此类发布成一个WebService

        EndPoint——此类为端点服务类,其中publish()方法用于将一个已经添加了@WebService注解对象绑定到一个地址的端口上,用于发布。

 

2,例子:

(1)发布WebService服务


HelloWebService.java:

<span style="font-family:KaiTi_GB2312;font-size:18px;">package cn.tgb.ws;
importjavax.jws.WebMethod;
importjavax.jws.WebService;
importjavax.xml.ws.Endpoint;
/**
 *  @WebService - 它是一个注解,用在类上指定将此类发布成一个ws.
    Endpoint – 此类为端点服务类,它的方法publish用于将一个已经添加了@WebService注解对象绑定到一个地址的端口上。
 
 * @author xuemin
 *
 */
@WebService
public classHelloWebService {
 
publicString HelloWord(String name){
return"Hello: "+name;
}
 
/**
 *添加exclude=true后,HelloWord2()方法不会被发布
 * @param name
 * @return
 */
@WebMethod(exclude=true)
publicString HelloWord2(String name){
return"Hello: "+name;
}
publicstatic void main(String[] args) {
/**
 *参数1:服务的发布地址
 *参数2:服务的实现者
 */
Endpoint.publish("http://192.168.24.138:456/helloWord",new HelloWebService());
 
}
 
}</span>

注:

@WebService 它是一个注解,用在类上指定将此类发布成一个ws.

    Endpoint –此类为端点服务类,它的方法publish用于将一个已经添加了@WebService注解对象绑定到一个地址的端口上。

 

运行以上程序进行发布。

 

(2)查看wsdl

地址:http://192.168.24.138:456/helloWord?wsdl

只要在客户端浏览器能看到此WSDL文档,说明服务发布成功


以上服务发布成功;

总结:

如何发布一个Web服务:

a,在类上添加@WebService注解

(注:此注解是jdk1.6提供的,位于javax.jws.WebService包中)

b,通过EndPoint(端点服务)发布一个WebService

(注:EndPointjdk提供的一个专门用于发布服务的类,该类的publish方法接收两个参数,一个是本地的服务地址,二是提供服务的类。位于 javax.xml.ws.Endpoint包中)

c,注:

类上添加注解@WebService,类中所有非静态方法都会被发布;

静态方法和final方法不能被发布;

方法上加@WebMentod(exclude=true)后,此方法不被发布;

(3)客户端访问发布的服务

根据WSDL文档来在客户端编写代码,访问发布的服务;

但是,WSDL文档看不懂怎么办?代码该如何编写?

——你看不懂,JDK看得懂,wsimportJDK自带的,可以根据WSDL文档生成客户端调用代码的工具。无论服务器端WebService使用什么语言编写的,豆浆在客户端生成Java代码。所以服务器用什么语言编写的并不重要。

wsimport.exe命令参数熟知:

    -d:生成class文件。默认参数。

    -s:生成Java文件

   -p:自定义包结构

 

解析地址生成源码到E盘:


 

执行以上命令后,即可在E盘下生成如下包及类


 

注:还可以自定义包结构:

自定义包结构的命令:


 


 

将生成的包及.java文件复制到客户端:如下图


 

创建访问服务的类:MyClient.java:


 

MyClient.java:

<span style="font-family:KaiTi_GB2312;font-size:18px;">package cn.tgb.ws;
 
public classMyClient {
 
  publicstatic void main(String[] args) {
     HelloWebServiceServicehwss = new HelloWebServiceService();
 
     HelloWebServicehws = hwss.getHelloWebServicePort();
 
     Stringresult=hws.helloWord("hanxuemin");
     System.out.println(result);
  }
 
}</span>

 

(4)运行结果:



总结:

通过此篇博客,应该掌握到:如何发布一个Java Web服务;如何在客户端访问发布的Web服务。

  • 28
    点赞
  • 92
    收藏
    觉得还不错? 一键收藏
  • 22
    评论
Java发布Web服务,你可以使用Java的标准API和框架来实现。以下是一种常见的方法: 1. 创建Java类:首先,你需要创建一个Java类来实现你的Web服务。这个类应该包含我们想要提供的Web服务的方法。例如,你可以创建一个名为"WebService"的类,并在其添加一个名为"helloWorld"的方法,用于返回一个简单的字符串。 ```java public class WebService { public String helloWorld() { return "Hello, World!"; } } ``` 2. 使用Java标准API:Java标准API的`javax.jws`包提供了发布Web服务所需的注解。你可以使用`@WebService`注解标记你的类,并使用`@WebMethod`注解标记你想要提供的方法。 ```java import javax.jws.WebService; import javax.jws.WebMethod; @WebService public class WebService { @WebMethod public String helloWorld() { return "Hello, World!"; } } ``` 3. 发布Web服务:接下来,你需要使用Java标准API的`Endpoint`类来发布你的Web服务。`Endpoint`类提供了一个静态方法`publish`,它接受一个URL和一个实现了Web服务接口的对象。 ```java import javax.xml.ws.Endpoint; public class Main { public static void main(String[] args) { String url = "http://localhost:8080/webservice"; WebService webService = new WebService(); Endpoint.publish(url, webService); System.out.println("Web service is running at: " + url); } } ``` 在上面的例子,我们将Web服务发布到`http://localhost:8080/webservice`。 4. 运行Web服务:最后,你可以运行你的Java程序,并访问你发布的Web服务的URL。你可以使用浏览器、命令行工具或其他HTTP客户端来测试你的Web服务。 这只是一个简单的示例,展示了如何在Java发布Web服务。实际上,还有其他一些框架可以更方便地发布和管理Web服务,如Apache CXF和Spring Boot。你可以根据自己的需求选择适合的框架来发布你的Web服务

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值