`
星夜的遐想
  • 浏览: 186831 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

如何基于JAX-WS开发一个WebService实例

阅读更多

现在我们以前来看下,如何利用java API给我们提供的WebService接口来开发一个简单的小案例。

 

1、首先我们定义一个接口:注意要引入Webservice的注解表示这是一个webservice的接口。

 

package com.lyl.service;

import javax.jws.WebService;

@WebService
public interface IMyService {

	
	public int add(int a,int b);
	
	public int minus(int a,int b);
}

 

 

 

2、然后定义个实现类:要添加@WebService(endpointInterface="com.lyl.service.IMyService")

表示要实现的接口。

 

package com.lyl.service;

import javax.jws.WebService;


@WebService(endpointInterface="com.lyl.service.IMyService")
public class MyServiceImpl implements IMyService {

	public int add(int a, int b) {
		
		System.out.println(a+"+"+b+"="+(a+b));
		
		
		return a+b;
	}

	public int minus(int a, int b) {
		System.out.println(a+"-"+b+"="+(a-b));
		
		
		return a-b;
	}

}

 

3、在定义一个发布服务的类:用于发布在网上的路径。

 

package com.lyl.service;

import javax.xml.ws.Endpoint;

public class MyServer {

	public static void main(String[] args) {
		
		String address="http://localhost:8080/ns";
		
		Endpoint.publish(address,new MyServiceImpl());
	}
}

 

这样我们的一个WebService就已经定义好了,我们可以再浏览器中输入服务类中的发布的地址:http://localhost:8080/ns即可访问了,这时可以看到如许页面:

 

5、点击上面的超链接,就可看到自动生成的WSDL文件了如:

 

 <?xml version="1.0" encoding="UTF-8" ?> 
- <!--  Published by JAX-WS RI at http://jax-ws.dev.java.net. RI's version is JAX-WS RI 2.2.2 in JDK 7. 
  --> 
- <!--  Generated by JAX-WS RI at http://jax-ws.dev.java.net. RI's version is JAX-WS RI 2.2.2 in JDK 7. 
  --> 
- <definitions xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:wsp="http://www.w3.org/ns/ws-policy" xmlns:wsp1_2="http://schemas.xmlsoap.org/ws/2004/09/policy" xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://service.lyl.com/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://service.lyl.com/" name="MyServiceImplService">
- <types>
- <xsd:schema>
  <xsd:import namespace="http://service.lyl.com/" schemaLocation="http://localhost:8080/ns?xsd=1" /> 
  </xsd:schema>
  </types>
- <message name="minus">
  <part name="parameters" element="tns:minus" /> 
  </message>
- <message name="minusResponse">
  <part name="parameters" element="tns:minusResponse" /> 
  </message>
- <message name="add">
  <part name="parameters" element="tns:add" /> 
  </message>
- <message name="addResponse">
  <part name="parameters" element="tns:addResponse" /> 
  </message>
- <portType name="IMyService">
- <operation name="minus">
  <input wsam:Action="http://service.lyl.com/IMyService/minusRequest" message="tns:minus" /> 
  <output wsam:Action="http://service.lyl.com/IMyService/minusResponse" message="tns:minusResponse" /> 
  </operation>
- <operation name="add">
  <input wsam:Action="http://service.lyl.com/IMyService/addRequest" message="tns:add" /> 
  <output wsam:Action="http://service.lyl.com/IMyService/addResponse" message="tns:addResponse" /> 
  </operation>
  </portType>
- <binding name="MyServiceImplPortBinding" type="tns:IMyService">
  <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" /> 
- <operation name="minus">
  <soap:operation soapAction="" /> 
- <input>
  <soap:body use="literal" /> 
  </input>
- <output>
  <soap:body use="literal" /> 
  </output>
  </operation>
- <operation name="add">
  <soap:operation soapAction="" /> 
- <input>
  <soap:body use="literal" /> 
  </input>
- <output>
  <soap:body use="literal" /> 
  </output>
  </operation>
  </binding>
- <service name="MyServiceImplService">
- <port name="MyServiceImplPort" binding="tns:MyServiceImplPortBinding">
  <soap:address location="http://localhost:8080/ns" /> 
  </port>
  </service>
  </definitions>

6、 接下来我们通过JDK中自带的命令wsimport命令(在JDK的安装目录bin文件夹下的wsimpor.exe,如果配置了JDK的环境变量的话,可以再任以目录下执行此命令,否则要转到bin目录下才能用该命令)将wsdl文件导入到本地,生成客户端代码:

 

wsimport命令图

 

其中参数-keep:保存源码也就是java文件-d 指定生成源代码存放的路径(如上是D://01文件夹下) -verbose意思是显示详细信息 http://localhost:8080/ns?wsdl指定的wsdl的网上路径,如果是在本来的话可以使本地路径。

 

7、再新建一个java Application项目,在src包下,添加生成的客户端代码,并添加一个测试类TestClient

 

 

8、添加一个测试类:

package com.lyl.test;

import com.lyl.service.IMyService;
import com.lyl.service.MyServiceImplService;

public class TestClient {
public static void main(String[] args) {
		
		MyServiceImplService mis=new MyServiceImplService();
		IMyService  myservice=mis.getMyServiceImplPort();
		myservice.add(4, 6);
			


	}
}

 

 

9、执行后即可看结果(服务不要关闭):

 

好了,一个简单的基于JAX-WS的webservice和客户端和服务端就建好了,有兴趣的话可以试一试。对了jdk最好是1.7的,要不然会有一点小错误,相信你能解决的 。

 

 

 

 

  • 大小: 17.4 KB
  • 大小: 2.2 KB
  • 大小: 12.1 KB
分享到:
评论

相关推荐

    MyEclipse6_5上基于JAX-WS开发Webservice(中文示例)

    在"浔阳江上 - BlogJava.htm"和"MyEclipse6_5上基于JAX-WS开发Webservice(中文示例) - 浔阳江上 - BlogJava_files"这两个文件中,可能包含了作者在BlogJava网站上分享的具体步骤和示例代码,帮助读者更好地理解和...

    MyEclipse8_0中使用 JAX-WS 部署 WebService 实例

    MyEclipse8_0中使用 JAX-WS 部署 WebService 实例 - 外衣 - 博客频道 - CSDN_NET.mht

    webservice之jax-ws

    JAX-WS取代了早期的JAX-RPC(Java API for XML-based RPC),提供了一个更加现代、轻量级且基于标准的框架。 1. **SOAP与Web服务** SOAP(简单对象访问协议)是一种基于XML的协议,用于交换结构化的信息。Web服务...

    jax-ws api jar包

    - **Service类**:JAX-WS提供的一个工具类,用于创建服务代理实例,通过指定WSDL URL和服务 QName 来获取服务端点。 3. **部署和运行:** - **部署描述符(web.xml)**:在Java EE环境中,JAX-WS服务通常通过部署...

    jax-ws实现webservice调用

    **Java API for XML Web ...在"HelloServer"这个示例中,我们可以看到一个基本的JAX-WS服务端实现,它演示了如何发布一个简单的"Hello, World"服务。通过学习和实践,你将能够构建更复杂、功能丰富的Web服务应用。

    jax-ws发布webservice

    通过定义服务接口,实现服务逻辑,以及使用`Endpoint.publish()`发布服务,我们可以轻松地创建一个基于JAX-WS的Web服务。同时,利用`wsimport`工具生成客户端代码,可以方便地进行服务调用。在"jax-ws-server"和"jax...

    jax-ws WebService客户端与服务端工程.rar

    这个"jax-ws WebService客户端与服务端工程.rar"压缩包文件包含了一个完整的示例,展示了如何使用JAX-WS创建和消费Web服务。让我们深入探讨一下JAX-WS的核心概念和技术。 1. **Web服务基础**: - **SOAP(Simple ...

    JAX-WS开发部署WebService

    【JAX-WS开发部署WebService】是Web服务开发的一个重要主题,主要涉及到使用Java API for XML Web Services(JAX-WS)创建和部署基于SOAP的Web服务。JAX-WS是一种标准的、Java平台上的API,它使得开发人员能够轻松地...

    上传一个基于Jax-ws的WebService

    这篇博客文章“上传一个基于Jax-ws的WebService”可能详细介绍了如何使用JAX-WS技术构建和发布一个Web服务。虽然具体的描述为空,但我们可以根据标题推测,作者可能涵盖了以下几个关键步骤: 1. **环境准备**:首先...

    使用Myeclipse-8.5开发基于JAX-WS的Web-service实例.docx

    通过以上步骤,我们可以成功地使用Myeclipse 8.5开发并部署一个基于JAX-WS的Web Service。理解Web Service的基础知识对于开发人员来说至关重要,同时熟悉JAX-WS框架可以帮助我们更高效地开发Web Service应用。希望本...

    gsoap客户端Jax-ws服务端实例

    1. **创建JAX-WS服务**:在MyEclipse中,通过New -&gt; Web Service菜单项创建一个新的Web服务。定义服务接口,使用JAX-WS注解如`@WebService`和`@SOAPBinding`,并实现相应的业务逻辑。 2. **部署服务**:将服务部署...

    JAX-WS + Spring 实现webService示例.docx

    在本文中,我们将深入探讨如何使用JAX-WS(Java API for XML Web Services)与Spring框架集成来实现一个Web服务示例。这个示例将帮助我们理解如何在Spring环境中创建、配置和部署JAX-WS服务,同时利用Spring的依赖...

    jax-ws用户指南 pdf版

    JAX-WS (Java API for XML Web Services) 是 Java 平台上用于开发和实现 Web 服务的官方标准之一。本用户指南详细介绍了 JAX-WS 2.2 版本的功能、编程模型以及如何使用该 API 来构建 Web 服务应用。 #### 文档结构 ...

    JAX-WS自学笔记

    JAX-WS(Java API for XML-Based Web Services)是Java平台上的一个标准,用于构建和消费Web服务。它是JAX-RPC的继承者,提供了更现代、基于标准的编程模型。JAX-WS 2.0是其第二个主要版本,与Java 5兼容,并且基于...

    JAX-WS在Tomcat中发布服务

    总的来说,JAX-WS为Java开发者提供了一个简洁、高效的Web服务开发框架,结合Tomcat这样的轻量级应用服务器,可以轻松地实现Web服务的发布和调用。在实际项目中,我们可以根据需要进一步扩展Handler,实现更复杂的...

    jax-ws 例子

    它简化了Web服务的开发,提供了一种基于注解的方式,使得开发者能够快速地创建服务端和客户端应用程序。JAX-WS是SOAP(Simple Object Access Protocol)消息处理的Java规范,支持WSDL(Web Service Description ...

    jax-ws实践教程代码helloWS.zip jax-ws实践教程代码helloWS.zip

    这个"jax-ws实践教程代码helloWS.zip"压缩包包含了一个基础的JAX-WS示例,名为"helloWS",用于演示如何创建、部署和使用Web服务。以下是对该实践教程的详细解释: 1. **JAX-WS简介** JAX-WS是Java EE平台的一部分...

    JAX-WS(java api xml webservice)

    在【压缩包子文件的文件名称列表】中提到的"webservice_002_JAX-WS_client"可能是一个示例或教程,涵盖了如何使用JAX-WS创建和使用Web服务客户端。这可能包括以下步骤: 1. **定义SEI**: 编写服务接口,标记为`@...

    JAX-WS实现WebService服务文档及示例代码

    JAX-WS(Java API for XML Web Services)是Java平台上的一个标准接口,用于构建和部署Web服务。它简化了Web服务的开发,提供了一种基于注解的方式来创建和消费Web服务。JAX-WS允许开发者使用Java SE或Java EE环境,...

Global site tag (gtag.js) - Google Analytics