Eclipse创建cxf的webservice-2

简介:




1、 客户端访问

客户端接口:

/**

 * @author: 團長

 * @date: 2013-2-4-下午1:09:12

 */

package wsClient;

 

/**

 * TODO:

 * 

 * @author 團長

 * @since 2013-2-4

 */

public interface ClientInt {

 

public String ask(String question);

}

 

 

客户端实现:

/**

 * @author: 團長

 * @date: 2013-2-4-下午1:10:20

 */

package wsClient;

 

import org.apache.cxf.binding.soap.saaj.SAAJOutInterceptor;

import org.apache.cxf.endpoint.Client;

import org.apache.cxf.frontend.ClientProxy;

import org.apache.cxf.interceptor.LoggingOutInterceptor;

import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;

import org.apache.cxf.transport.Conduit;

import org.apache.cxf.transport.http.HTTPConduit;

import org.apache.cxf.transports.http.configuration.HTTPClientPolicy;

 

import ws.WsInt;

 

/**

 * TODO:

 * 

 * @author 團長

 * @since 2013-2-4

 */

public class ClientImpl implements ClientInt {

 

private WsInt ws;

private String address;

 

public ClientImpl() {

 

this.address = "http://localhost:7001/TestWS/service/qa";

 

JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();

factory.setServiceClass(WsInt.class);

factory.setAddress(address);

 

factory.getOutInterceptors().add(new LoggingOutInterceptor());

factory.getOutInterceptors().add(new SAAJOutInterceptor());

 

ws = (WsInt) factory.create();

 

Client clientl = ClientProxy.getClient(ws);

Conduit conduit = clientl.getConduit();

HTTPConduit hc = (HTTPConduit) conduit;

HTTPClientPolicy httpClient = new HTTPClientPolicy();

 

hc.setClient(httpClient);

 

}

 

/**

 * TODO:

 * 

 * @author 團長

 * @since 2013-2-4

 * @param question

 * @return

 * @see wsClient.ClientInt#ask(java.lang.String)

 * 

 */

@Override

public String ask(String question) {

String result = null;

 

result = ws.qa(question);

 

return result;

}

}

 

客户端测试:

/**

 * @author: 團長

 * @date: 2013-2-4-下午1:15:37

 */

package test;

 

import org.junit.Test;

 

import wsClient.ClientImpl;

import wsClient.ClientInt;

 

/**

 * TODO:

 * 

 * @author 團長

 * @since 2013-2-4

 */

public class TestClient {

 

@Test

public void test() {

ClientInt client = new ClientImpl();

 

String result = client.ask("ni shi shei");

System.out.println(result);

 

}

 

}

 

运行junit测试用例,应输出:

信息: Outbound Message

---------------------------

ID: 1

Address: http://localhost:7001/TestWS/service/qa

Encoding: UTF-8

Content-Type: text/xml

Headers: {SOAPAction=[""], Accept=[*/*]}

Payload: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><ns2:qa xmlns:ns2="http://ws/"><arg0>ni shi shei</arg0></ns2:qa></soap:Body></soap:Envelope>

--------------------------------------

this is my life

 

2、 这是用Eclipse创建cxf webservice的简易方法。没有涉及到wsdlcxf的用户安全验证等细节。这些东西请自己补充。




本文转自 斯然在天边 51CTO博客,原文链接:http://blog.51cto.com/winters1224/1131748,如需转载请自行联系原作者

相关文章
|
4月前
【Azure 应用服务】Web App Service 中的 应用程序配置(Application Setting) 怎么获取key vault中的值
【Azure 应用服务】Web App Service 中的 应用程序配置(Application Setting) 怎么获取key vault中的值
|
1月前
【Azure App Service】PowerShell脚本批量添加IP地址到Web App允许访问IP列表中
Web App取消公网访问后,只允许特定IP能访问Web App。需要写一下段PowerShell脚本,批量添加IP到Web App的允许访问IP列表里!
|
4月前
|
关系型数据库 MySQL Linux
【Azure 应用服务】在创建Web App Service的时候,选Linux系统后无法使用Mysql in App
【Azure 应用服务】在创建Web App Service的时候,选Linux系统后无法使用Mysql in App
【Azure 应用服务】在创建Web App Service的时候,选Linux系统后无法使用Mysql in App
|
4月前
|
Shell PHP Windows
【Azure App Service】Web Job 报错 UNC paths are not supported. Defaulting to Windows directory.
【Azure App Service】Web Job 报错 UNC paths are not supported. Defaulting to Windows directory.
|
4月前
|
Linux 应用服务中间件 网络安全
【Azure 应用服务】查看App Service for Linux上部署PHP 7.4 和 8.0时,所使用的WEB服务器是什么?
【Azure 应用服务】查看App Service for Linux上部署PHP 7.4 和 8.0时,所使用的WEB服务器是什么?
|
4月前
【Azure 应用服务】通过 Web.config 开启 dotnet 应用的 stdoutLog 日志,查看App Service 产生500错误的原因
【Azure 应用服务】通过 Web.config 开启 dotnet 应用的 stdoutLog 日志,查看App Service 产生500错误的原因
|
4月前
|
Linux Python
【Azure 应用服务】Azure App Service For Linux 上实现 Python Flask Web Socket 项目 Http/Https
【Azure 应用服务】Azure App Service For Linux 上实现 Python Flask Web Socket 项目 Http/Https
|
4月前
|
存储 安全 网络安全
【Azure 环境】使用Azure中的App Service部署Web应用,以Windows为主机系统是否可以启动防病毒,防恶意软件服务呢(Microsoft Antimalware)?
【Azure 环境】使用Azure中的App Service部署Web应用,以Windows为主机系统是否可以启动防病毒,防恶意软件服务呢(Microsoft Antimalware)?
|
4月前
|
存储 Linux 网络安全
【Azure 应用服务】App Service For Linux 如何在 Web 应用实例上住抓取网络日志
【Azure 应用服务】App Service For Linux 如何在 Web 应用实例上住抓取网络日志
|
4月前
【Azure 云服务】Azure Cloud Service 为 Web Role(IIS Host)增加自定义字段 (把HTTP Request Header中的User-Agent字段增加到IIS输出日志中)
【Azure 云服务】Azure Cloud Service 为 Web Role(IIS Host)增加自定义字段 (把HTTP Request Header中的User-Agent字段增加到IIS输出日志中)

推荐镜像

更多