HelloWorld.java代码
package demo.spring.service; import javax.jws.WebService; @WebService public interface HelloWorld { String sayHi(String text); }
HelloWorldImpl代码
package demo.spring.service; import javax.jws.WebService; @WebService(endpointInterface = "demo.spring.service.HelloWorld") public class HelloWorldImpl implements HelloWorld { public String sayHi(String text) { System.out.println("sayHi called"); return "Hello " + text; } }
cxf-servlet.xml代码
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jaxws="http://cxf.apache.org/jaxws" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd"> <import resource="classpath:META-INF/cxf/cxf.xml" /> <import resource="classpath:META-INF/cxf/cxf-servlet.xml" /> <jaxws:endpoint id="helloWorld" implementor="demo.spring.service.HelloWorldImpl" address="/HelloWorld" /> </beans>
web.xml代码
<?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <display-name>cxf</display-name> <description>Apache CXF Endpoint</description> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath*:cxf-servlet.xml</param-value> </context-param> <servlet> <servlet-name>cxf</servlet-name> <servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>cxf</servlet-name> <url-pattern>/services/*</url-pattern> </servlet-mapping> </web-app>
启动并运行项目
打开浏览器输入地址
http://localhost:8080/service-file/services/HelloWorld?wsdl
下面是页面的展示
<?xml version="1.0" ?> - <wsdl:definitions name="HelloWorldImplService" targetNamespace="http://service.spring.demo/" xmlns:ns1="http://schemas.xmlsoap.org/soap/http" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://service.spring.demo/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> - <wsdl:types> - <xs:schema elementFormDefault="unqualified" targetNamespace="http://service.spring.demo/" version="1.0" xmlns:tns="http://service.spring.demo/" xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="sayHi" type="tns:sayHi" /> <xs:element name="sayHiResponse" type="tns:sayHiResponse" /> - <xs:complexType name="sayHi"> - <xs:sequence> <xs:element minOccurs="0" name="arg0" type="xs:string" /> </xs:sequence> </xs:complexType> - <xs:complexType name="sayHiResponse"> - <xs:sequence> <xs:element minOccurs="0" name="return" type="xs:string" /> </xs:sequence> </xs:complexType> </xs:schema> </wsdl:types> - <wsdl:message name="sayHi"> <wsdl:part element="tns:sayHi" name="parameters" /> </wsdl:message> - <wsdl:message name="sayHiResponse"> <wsdl:part element="tns:sayHiResponse" name="parameters" /> </wsdl:message> - <wsdl:portType name="HelloWorld"> - <wsdl:operation name="sayHi"> <wsdl:input message="tns:sayHi" name="sayHi" /> <wsdl:output message="tns:sayHiResponse" name="sayHiResponse" /> </wsdl:operation> </wsdl:portType> - <wsdl:binding name="HelloWorldImplServiceSoapBinding" type="tns:HelloWorld"> <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" /> - <wsdl:operation name="sayHi"> <soap:operation soapAction="" style="document" /> - <wsdl:input name="sayHi"> <soap:body use="literal" /> </wsdl:input> - <wsdl:output name="sayHiResponse"> <soap:body use="literal" /> </wsdl:output> </wsdl:operation> </wsdl:binding> - <wsdl:service name="HelloWorldImplService"> - <wsdl:port binding="tns:HelloWorldImplServiceSoapBinding" name="HelloWorldImplPort"> <soap:address location="http://localhost:8080/service-file/services/HelloWorld" /> </wsdl:port> </wsdl:service> </wsdl:definitions>
相关推荐
运行客户端程序,它将通过网络连接到服务端并打印出“Hello, World”。 这个简单的“Hello World”示例展示了Apache CXF如何帮助开发者快速搭建Web服务。在实际应用中,你可以扩展这个基础,处理更复杂的业务逻辑,...
这段配置告诉CXF使用`HelloWorldImpl`类实现服务,并将服务发布到`/HelloWorld`路径下。 三、HelloWorld客户端实现 1. 生成客户端代理:CXF提供了wsdl2java工具,可以自动生成服务接口和客户端代理类。在命令行中...
在本文中,我们将深入探讨如何将Apache CXF与Spring框架集成,以便同时支持JSON和XML的Web...这个“CXF整合spring同时支持JSON和XML配置的HelloWorld”示例为开发者提供了一个基础,从中可以扩展出复杂的企业级服务。
**步骤三:配置CXF并发布服务** 1. 在Maven的src/main/webapp/WEB-INF目录下创建cxf-servlet.xml配置文件,指定服务发布路径: ```xml xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:cxf=...
标题 "CXF 2.3 集成Spring3.0入门 HelloWorld" 指向的是一个关于如何在Java项目中使用Apache CXF 2.3版本与Spring 3.0框架进行集成的教程,特别是通过一个简单的"Hello World"应用来演示这个过程。Apache CXF是一个...
【CXF的helloworld实现】 Apache CXF 是一个开源的Java框架,主要用于构建和开发服务导向架构(SOA)和Web服务。它提供了一个全面的工具集,支持WS-*标准,使得开发人员能够轻松地创建和部署SOAP和RESTful服务。在...
本篇将详细介绍如何使用Apache CXF框架来创建和消费一个简单的HelloWorld WebService。 Apache CXF是一个开源的Java框架,它提供了构建和部署Web服务的工具和API。CXF不仅支持SOAP,还支持RESTful服务,使得开发...
在压缩包文件"cxf_helloworld"中,可能包含了上述步骤的源代码文件、Spring配置文件、WSDL文件以及运行示例所需的依赖库。通过研究这些文件,你可以更直观地理解CXF的工作流程,并动手实践以加深理解。如果你对源码...
在我们的"helloWorld"项目中,可能包含了服务接口、实现类、配置文件以及可能的测试客户端代码。通过这个简单的DEMO,你可以了解到如何使用Apache CXF构建Web服务,并进行基本的交互。随着对CXF的进一步学习,你还...
【标题】"CXF的第一个例子helloWorld"是一个关于Apache CXF框架入门教程的实例,它主要介绍了如何使用CXF创建并运行一个简单的RESTful服务。Apache CXF是一个开源的Java框架,它允许开发者构建和消费Web服务。这个...
在描述中提到了一个博客链接,虽然实际内容没有提供,但通常这样的博客会详细解释如何从零开始设置CXF项目,编写第一个服务,并展示如何运行和测试这个简单的“Hello, World”服务。通常,这个过程包括以下步骤: 1...
本文将详细介绍如何使用Apache CXF框架来实现一个简单的WebService——HelloWorld示例。此示例不仅适用于初学者理解WebService的基本概念,同时也能够帮助开发者快速上手CXF框架。CXF是一个强大的开源框架,用于构建...
创建一个包`cxf.demo`并在该包下定义一个接口`HelloWorld`。例如: ```java public interface HelloWorld { String sayHello(String name); } ``` 5. **实现服务接口** 实现`HelloWorld`接口,并创建其...
运行并测试:启动应用服务器,通过浏览器或HTTP客户端访问`http://localhost:8080/helloworld`,即可看到返回的“Hello, World!”。\n\n四、CXF RESTful服务进阶\n1. 路径参数:使用`@PathParam`注解,可以从URL中...
<jaxws:endpoint id="helloWorldEndpoint" implementor="com.ws.cxf.HelloWorldImpl" address="/HelloWorld"/> ``` - `SpringBus`定义了CXF的核心总线,用于管理服务和消息处理。 - `import`标签导入CXF的相关配置...
【描述】"cxf写的一个helloworld demo" 指出,此项目的核心是展示如何通过Apache CXF框架实现基础功能。"Hello World"程序通常被用作教学工具,帮助开发者理解新语言或框架的基本工作原理。在这个特定的场景中,我们...
这通常涉及到创建一个CXF的Servlet并在web.xml文件中配置它: ```xml <servlet-name>cxf <servlet-class>org.apache.cxf.transport.servlet.CXFServlet <load-on-startup>1 <servlet-name>cxf ...
接着,我们需要创建服务部署配置文件(如`HelloWorld.xml`),指定服务接口和实现类: ```xml <!-- HelloWorld.xml --> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=...
例如,你可以创建一个名为`HelloWorld`的接口,包含一个返回问候语的`sayHello()`方法。 ```java public interface HelloWorld { String sayHello(); } ``` 2. **实现服务接口**:接下来,你需要提供这个接口的...
在本例中,我们可能会有一个名为`HelloWorld`的类,它有一个`sayHello()`方法,返回“Hello, World!”这样的简单消息。这个类需要标记为CXF的服务端点,通常使用`@Path`注解来指定REST资源的路径,如`@Path("/hello...