1.定义服务接口
package com.sha;
import javax.jws.WebMethod;
import javax.jws.WebService;
/**
* @author: Administrator
* Date: 2015-4-17
* Time: 上午09:04:30
*/
@WebService(
name="hello"
)
public interface IHello {
/**
* sayHello
* @param arg0
* @return
*/
@WebMethod
public String sayHello(String arg0);
}
2.实现接口
package com.sha;
import javax.jws.WebService;
/**
* @author: Administrator
* Date: 2015-4-17
* Time: 上午09:04:30
*/
@WebService(
endpointInterface = "com.sha.IHello",
portName = "hello_Port",
serviceName = "hello_Service",
targetNamespace = "http://www.sha.com/hello"
)
public class HelloImpl implements IHello{
@Override
public String sayHello(String arg0)
{
System.out.println("客户端调用 sayHello ");
return "hello "+arg0;
}
}
3.发布服务
package com.sha;
import javax.xml.ws.Endpoint;
/**
* 启动服务
* @author: Administrator
* Date: 2015-4-17
* Time: 上午09:04:30
*/
public class HelloServer {
private static String ENDPOINT_URL="http://localhost:31038/hello";
public static void main(String[] args)
{
IHello helloimpl = new HelloImpl();
Endpoint endpoint = Endpoint.create(helloimpl);
/*发布webservice*/
endpoint.publish(ENDPOINT_URL);
System.out.println("运行并发布hello WebService Successfully...");
}
}
4.客户端访问
package com.sha;
import java.net.MalformedURLException;
import java.net.URL;
import javax.xml.namespace.QName;
import javax.xml.ws.Service;
/**
* 客户端
* @author: Administrator
* Date: 2015-4-17
* Time: 上午09:04:30
*/
public class HelloClient {
private static final String ENDPOINT_URL = "http://localhost:31038/hello?wsdl";
private static final String nameSpace = "http://www.sha.com/hello";
private static final String serviceName = "hello_Service";
public static void main(String[] args) throws MalformedURLException
{
//连接服务器端
URL url = new URL(ENDPOINT_URL);
QName name = new QName(nameSpace, serviceName);
Service service = Service.create(url, name);
IHello hello = service.getPort(IHello.class);
String response = hello.sayHello("admin");
System.out.println("返回的报文:" + response);
}
}
5.build.xml生成相应的wsdl文件和xsd文件
<project default="wsgen">
<!--wsgen
-cp 定义classpath
-r 生成 bean的wsdl文件的存放目录
-s 生成发布Web Service的源代码文件的存放目录(如果方法有抛出异常,则会生成该异常的描述类源文件)
-d 生成发布Web Service的编译过的二进制类文件的存放目录(该异常的描述类的class文件)
-->
<target name="wsgen">
<exec executable="wsgen">
<arg line="-cp ./server/classes -keep -s ./server -d ./server/classes -r ./public -wsdl com.sha.HelloImpl" />
</exec>
</target>
</project>
分享到:
相关推荐
**WebService CXF 学习——入门篇** **一、WebService CXF 由来与目标** Apache CXF 是一个流行的开源框架,它源自 ObjectWeb Celtix 和 CodeHaus XFire 的合并,这两个项目分别由 IONA 公司和业界知名SOAP堆栈...
本篇将详细介绍如何使用JAX-WS快速发布一个简单的Web服务,适合初学者入门。 首先,我们需要编写一个服务接口或实现类。这个类将定义Web服务提供的功能。例如,我们可以创建一个名为`HelloWorldService`的类,包含...
- **JAX-RPC/JAX-WS**:Axis基于JAX-RPC(Java API for XML-based RPC)实现,同时也支持更现代的JAX-WS(Java API for XML Web Services)规范。 - **模块化设计**:Axis允许通过添加自定义模块来扩展其功能,如...
5. **Apache CXF入门范例以及对传递ListMap类型的疑惑**:这篇资料可能讨论了在使用CXF时遇到的具体问题,例如如何处理复杂的数据类型,如List, Object>>。在Web服务中,复杂类型的序列化和反序列化可能需要特别注意...
CXF支持JAX-WS和JAX-RS标准,分别用于构建SOAP和RESTful服务。JAX-WS是基于WSDL(Web服务描述语言)的,而JAX-RS则基于HTTP协议和URI设计原则。 **步骤一:创建CXF项目** 1. 设置开发环境:确保已经安装了Java JDK...
WebService CXF学习——入门篇 1.CXF由来 2.HelloWorld 3.WSDL描述 WebService CXF学习——进阶篇 1.SOAP讲解 2.JAX-WS讲解 3.对象传递 WebService CXF学习——高级篇(一)(二) 1.整合Spring框架 2.CXF...
CXF全称CXF CXF (Common eXtensible Framework),它支持多种服务标准,如SOAP、RESTful、JAX-WS、JAX-RS等。CXF不仅提供了服务端的实现,还提供了客户端调用服务的API,使得开发和调试Web服务变得简单易行。 2. **...
这篇博文链接(由于实际链接不可用,此处不再提供具体内容)可能涵盖了CXF的基本概念、环境配置、快速入门示例等内容。 【标签】:“源码”意味着该压缩包可能包含CXF的部分源代码,供学习者查看和理解其内部工作...
【Axis实践之Axis入门】 Axis是一个流行的开源SOAP(Simple Object Access ...继续深入学习,你将掌握更多关于Web服务开发的专业知识,如WSDL、SOAP消息结构、服务安全以及与其他技术(如JAX-RPC、JAX-WS)的集成等。
1. **定义服务接口**:使用Java接口来定义Web服务的契约,可以使用JAX-RS或JAX-WS的注解来标注方法。 2. **实现服务接口**:创建接口的实现类,业务逻辑在此处编写。 3. **配置服务**:可以通过XML配置文件或注解来...
本篇文章将详细介绍这三项关键技术以及如何入门Web服务。 1. SOAP(简单对象访问协议) SOAP是Web服务的主要通信协议,它定义了一种结构化的XML消息格式,用于在分布式环境中传递信息。SOAP消息包含三个主要部分:...
它集成了JAX-WS和JAX-RS标准,允许开发者使用注解或者XML配置来定义服务接口。 2. **环境配置**:要运行CXF的示例,需要安装JDK 1.5或以上版本,Eclipse 3.4,以及Tomcat 5.5作为应用服务器。同时,需要下载并添加...
在Java中,我们可以使用JAX-WS(Java API for XML Web Services)来创建和部署WebService。以下是一个简单的示例: - 首先,我们需要创建一个标注了`@WebService`的Java类,这个类中的公共方法将暴露为可供调用的...
XFire 支持多种 Web 服务标准,如 Spring 整合、JBI、JAXB、XMLBeans、Java 5 和 JAX-WS,并支持 HTTP、JMS、XMPP 和内存中的传输协议。 #### 五、实现 HelloWorld WebService ##### 1. 创建 HelloWorld ...
在这里,我们使用了JAX-WS注解来描述服务。 #### 2.4 配置CXF 在Spring配置文件中,配置CXF的Servlet和服务发布: ```xml ``` #### 2.5 运行与测试 运行应用,然后可以通过CXF提供的测试客户端或者使用...
JavaEE(Java Platform, ...综合来看,这篇文章是一份全面的JavaEE开发入门指南,覆盖了从基础概念到环境配置,再到快速入门和实际应用集成,甚至提供了参考资料,对初学者和有经验的开发者都有一定的指导价值。
第二部分则深入探讨了JSF RI(Reference Implementation)、JTA(Java Transaction API)、JNDI(Java Naming and Directory Interface)、RMI...)、JavaMail、EJB 3的session bean和message driven bean、JPA以及JAX...