Apache cxf代码
时间: 2024-06-09 19:05:29 浏览: 127
Apache CXF 是一个开源的 Web 服务框架,支持 SOAP 和 REST 服务。下面是一个使用 CXF 创建 Web 服务的示例代码:
1. 定义接口
```java
package com.example;
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebService;
@WebService
public interface HelloWorld {
@WebMethod
String sayHello(@WebParam(name = "name") String name);
}
```
2. 实现接口
```java
package com.example;
import javax.jws.WebService;
@WebService(endpointInterface = "com.example.HelloWorld")
public class HelloWorldImpl implements HelloWorld {
public String sayHello(String name) {
return "Hello " + name;
}
}
```
3. 发布服务
```java
package com.example;
import javax.xml.ws.Endpoint;
public class HelloWorldServer {
public static void main(String[] args) {
HelloWorldImpl implementor = new HelloWorldImpl();
String address = "http://localhost:8080/HelloWorld";
Endpoint.publish(address, implementor);
}
}
```
4. 调用服务
```java
package com.example;
import javax.xml.namespace.QName;
import javax.xml.ws.Service;
import java.net.URL;
public class HelloWorldClient {
public static void main(String[] args) throws Exception {
URL url = new URL("http://localhost:8080/HelloWorld?wsdl");
QName qname = new QName("http://example.com/", "HelloWorldImplService");
Service service = Service.create(url, qname);
HelloWorld hello = service.getPort(HelloWorld.class);
String result = hello.sayHello("world");
System.out.println(result);
}
}
```