开发环境:
1、eclipse3.3 STP all-in-one版本 CXF2.1版本
2、建议用全新的eclipse,有可能因为以前装过Axis插件,导致你用CXF时无法编译生成WSDL文档和相应的代码,采用links文件夹来加载插件的方式比较好,不用的时候只需要将link文件注释就可以了
STP的link文件 path=D:\\Develop tools\\Component\\STP\\stp-all-in-one
3、开始配置环境:
1)STP安装成功,工具栏中会出现菜单 SOA
2) 打开首选项,找到 SOA TOOLS,点击 Installed Runtimes ,点击Add,添加 Apach CXF 2.0,浏览找到你解压缩的CXF目录,点击确定
3)点击 JAX -WS,选择User wizards to overwrite defaults
4)Apache cxf 和JAX-WS RI都选择soap1.2,保存设置,配置完毕
4、开始编程:
1)新建java工程,写接口类和方法,导入CXF插件lib下的jar包,点击工程,在菜单SOA中选择 JAX-WS,Enable JAX-WS,选择
java first praogranming,一次next,找到你的接口类,点击确定后会将你的接口发布成服务,
package com.jiuqi.minyang;
import javax.jws.WebService;
@WebService(name="Hello", targetNamespace="http://minyang.jiuqi.com/")
public interface Hello {
public String say();
}
此时,在工具栏菜单Window中点击show view 选择other,找到 SOA TOOLS,选择Annotation Properties,调出annotation视图,点击接口类中的@WebService,会定位到Annotation Properties视图,将soapbanding的属性改为true,此时会增加标记,将soapbanding的style属性改为DOCUMENT
@SOAPBinding(use=SOAPBinding.Use.LITERAL, style=SOAPBinding.Style.DOCUMENT)
@WebService(name="Hello", targetNamespace="http://minyang.jiuqi.com/")
public interface Hello {
public String say();
}
2)点击工程目录下的视图,点击say()方法,在点击菜单SOA,选择JAX-WS create web method ,会为方法增加标记
@SOAPBinding(use=SOAPBinding.Use.LITERAL, style=SOAPBinding.Style.DOCUMENT)
@WebService(name="Hello", targetNamespace="http://minyang.jiuqi.com/")
public interface Hello {
@WebMethod(operationName="say", exclude=false)
@ResponseWrapper(targetNamespace="http://minyang.jiuqi.com/", className="com.jiuqi.minyang.SayResponse", localName="sayResponse")
@RequestWrapper(targetNamespace="http://minyang.jiuqi.com/", className="com.jiuqi.minyang.Say", localName="say")
public String say();
}
3)选择工程,右键找到 JAX-WS TOOLS,选择generate code ,选择soap1.2 ,生成WSDL,Server,Client,点击finish完成。
4)自动生成了三个java文件包括,HelloClient.java ,HelloImpl.java, HelloServer.java,还有服务的WSDL描述文档
5)现在对HelloClient添加打印语句
public class HelloClient {
public static void main(String[] args) throws Exception {
QName serviceName = new QName("http://minyang.jiuqi.com/", "HelloService");
QName portName = new QName("http://minyang.jiuqi.com/", "HelloPort");
Service service = Service.create(serviceName);
service.addPort(portName, SOAPBinding.SOAP11HTTP_BINDING,
"http://localhost:9090/HelloPort");
com.jiuqi.minyang.Hello client = service.getPort(portName, com.jiuqi.minyang.Hello.class);
System.out.println(client.say());//这是手动添加的打印语句,调用服务的方法say();
// Insert code to invoke methods on the client here
}
}
接口实现类
public class HelloImpl implements Hello {
public java.lang.String say() {
try {
java.lang.String _return = "你好";//给字符串赋值,“你好”
return _return;
} catch (Exception ex) {
ex.printStackTrace();
throw new RuntimeException(ex);
}
}
}
6)现在运行HelloServer.java,
public class HelloServer {
protected HelloServer() throws Exception {
System.out.println("Starting Server");
Object implementor = new com.jiuqi.minyang.HelloImpl();
String address = "http://localhost:9090/HelloPort";
Endpoint.publish(address, implementor);
}
public static void main(String args[]) throws Exception {
new HelloServer();
System.out.println("Server ready...");
Thread.sleep(5 * 60 * 1000);
System.out.println("Server exiting");
System.exit(0);
}
}
打印语句 Server ready...,则服务端启动,
7) 运行HelloClient.java,会打印 “你好”
8)基本测试完毕,至于如何发布到tomcat服务器,还没试验成功,以后再补上
分享到:
相关推荐
WebService环境配置 CXF环境搭建
Apache CXF 是一款开源的 Java 服务框架,它专注于创建和消费 Web 服务。CXF 提供了简单而强大的方式来构建服务端和...通过正确的环境配置和使用 CXF 提供的工具,开发者可以高效地完成 Web 服务的创建、发布和调用。
在本文中,我们将详细介绍如何安装和配置Apache CXF 2.2.10,并将其添加到系统的环境变量中。 首先,了解Apache CXF的基本概念至关重要。它是一个用于创建Web服务的工具,支持多种协议和标准,如SOAP、RESTful HTTP...
3. **CXF环境配置及示例运行** - **配置文件**:配置CXF通常涉及到修改web.xml文件,设置CXF的Servlet和监听器。 - **运行示例**:通过修改示例项目的源代码,开发者可以快速理解CXF的工作原理,并学习如何部署和...
1. **CXF环境配置** 在开始之前,确保你已经安装了Java JDK和Apache Tomcat。接着,需要将CXF的JAR文件添加到项目的类路径中,或者如果你使用的是Maven或Gradle,可以在构建文件中添加对应的依赖。 2. **创建服务...
在Spring与CXF框架结合使用的项目中,日志记录配置是一项关键任务,它有助于开发者跟踪系统运行状态,排查错误和优化性能。CXF是Apache组织提供的一个开源服务框架,它支持WS-* Web服务标准,而Spring则是一个强大的...
如果`spring_boot`文件包含了Spring Boot应用的配置或其他代码,它们可能会涉及到更多关于如何在Spring Boot环境中运行CXF和Swagger2的信息。 总的来说,"cxf配置swagger2"涉及到的步骤包括:添加依赖、创建Swagger...
总结,CXF学习和环境搭建涉及多个步骤,包括理解Web服务标准、集成开发环境的配置、服务接口和实现的编写、服务的部署与测试等。通过实际操作和源码阅读,可以更好地掌握CXF的使用和原理,为构建高效、灵活的Web服务...
总结,将CXF 2.7.3与Spring 3.0.7整合开发涉及到环境配置、接口和实现类的创建、服务发布以及客户端调用等步骤。理解并掌握这些步骤对于开发基于CXF的Web服务至关重要。在整个过程中,Spring的角色主要是管理服务...
2. **配置安全策略**:CXF支持通过`WSS4JOutInterceptor`进行安全策略配置。我们需要创建该拦截器并设置适当的属性,如`wsse:UsernameToken`用于用户名和密码认证,或者`wsse:Security`用于更复杂的认证机制。 ```...
【标题】:“cxf多数据源配置” 在Java企业级应用开发中,有时我们需要处理来自多个数据源的数据,比如不同的数据库、API接口等。CXF(CXF: XFire + Codehaus XStream)是一个开源的Java框架,它主要用于构建和消费...
1. **设置项目环境**:首先,我们需要在项目中引入Spring和CXF的依赖库。通常,这可以通过Maven或Gradle的配置来完成。 2. **创建服务接口和服务实现**:定义一个Java接口,其中包含Web服务需要提供的方法。然后,...
"cxf使用中编码问题"这个主题聚焦在如何在CXF环境中解决与GBK等特定编码相关的困扰。 首先,我们需要理解编码的本质。在计算机系统中,字符编码是用来表示文本的一种方式,如ASCII、GBK、UTF-8等。GBK是中国大陆...
"cxf所需jar包(内含配置文件)"这个压缩包,正如其名,提供了SpringMVC与CXF整合所需的依赖库以及配置文件,使得开发者能够更方便地在Spring环境中集成CXF来处理Web服务。 首先,让我们详细了解一下CXF框架。CXF...
这意味着用户可以从这些例子中学习如何使用CXF,并且可以直接使用提供的JAR包来避免环境配置的复杂性。 【压缩包子文件的文件名称列表】:CxfTest "**CxfTest**"很可能是这个压缩包中的主要文件或目录,它可能包含...
学习这个示例,开发者能够深入理解如何在CXF环境中创建和使用自定义转换器,这对于处理复杂的数据交换问题或与不同系统的集成非常有帮助。同时,这也展示了如何利用CXF的强大功能来提高Web服务的灵活性和可扩展性。
安装这个库后,我们需要在项目中配置它,以便对CXF Webservice接口进行跨域支持。 `java-property-utils-1.9.jar`是另一个关键组件,它提供了一些工具类,用于处理Java属性文件和环境变量。在这个场景下,它可能...
Spring Boot以其便捷的初始化配置和自动配置功能,简化了项目的搭建过程,而Apache CXF则是一个强大的开源框架,专门用于创建和消费Web服务,支持SOAP和RESTful两种风格的服务。 首先,我们需要理解Spring Boot的...
为了使用这些jar包,开发者通常需要配置CXF的Spring Bean,或者使用Maven或Gradle等构建工具管理依赖。同时,对于客户端,CXF提供了一种称为“动态客户端”的模式,可以在运行时根据WSDL生成客户端代码,方便调用...