`

使用CXF实现带header的soap服务

    博客分类:
  • java
阅读更多

接口部分使用如下代码

package ws.server;

import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebParam.Mode;
import javax.jws.WebResult;
import javax.jws.WebService;
import javax.xml.ws.Holder;

import ws.bean.MyReq;
import ws.bean.MyResp;

@WebService(targetNamespace = "http://www.MyWs.com/schemas/")
public interface MyWs {
	@WebMethod
	@WebResult(name = "MyResp") MyResp
	myMethod(
		//header说明这个参数出现在标头部分,Mode.INOUT说明这个参数是输入输出都存在的(注意类型要用Holder包围)
		@WebParam(name = "Tid", header = true, mode = Mode.INOUT) Holder<String> tid,
		@WebParam(name = "MyReq") MyReq myReq
	);
}

 

实现部分的代码

package ws.server.impl;

import javax.xml.ws.Holder;

import ws.bean.MyReq;
import ws.bean.MyResp;
import ws.server.MyWs;

public class MyWsImpl implements MyWs {
	@Override
	public MyResp myMethod(Holder<String> tid, MyReq myReq) {
		//使用value获取Holder中实际类型的值
		System.out.println("tid = " + tid.value); 
		return new MyResp();
	}
}

 使用soapUI工具可以看到输入

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sch="http://www.MyWs.com/schemas/">
   <soapenv:Header>
      <sch:Tid>2222</sch:Tid>
   </soapenv:Header>
   <soapenv:Body>
      <sch:myMethod>
         <MyReq>
            <reqName>3333</reqName>
         </MyReq>
      </sch:myMethod>
   </soapenv:Body>
</soapenv:Envelope>

 

以及返回的输出,都带有header部分
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
   <soap:Header>
      <ns2:Tid xmlns:ns2="http://www.MyWs.com/schemas/">2222</ns2:Tid>
   </soap:Header>
   <soap:Body>
      <ns2:myMethodResponse xmlns:ns2="http://www.MyWs.com/schemas/">
         <MyResp>
            <respName>javax.xml.ws.Holder@1733fe5d,3333</respName>
         </MyResp>
      </ns2:myMethodResponse>
   </soap:Body>
</soap:Envelope>
 
分享到:
评论

相关推荐

    cxf soap header 用法

    根据提供的标题、描述、标签及部分内容,我们可以详细探讨CXF框架中SOAP Header的使用方法。 ### CXF SOAP Header 使用详解 #### 一、引言 Apache CXF 是一个开源项目,提供了一套全面的框架来构建和服务 SOA 架构...

    CXF SOAP应用实例

    本实例将深入探讨如何使用CXF创建和消费SOAP服务,以及在实际项目中的应用。 1. **SOAP基础** SOAP是一种轻量级的消息传递协议,通过HTTP、SMTP等传输协议进行通信。它由三个主要部分组成:SOAP Envelope定义消息...

    CXF整合spring实现SOAP接口开发

    在IT行业中,CXF是一个广泛使用的开源框架,它支持服务导向架构(SOA)并通过SOAP协议提供Web服务。Spring框架则是Java应用开发的核心框架,它提供了丰富的功能来管理bean、处理事务、AOP(面向切面编程)等。将CXF...

    CXF客户端添加soapHeader代码 + jar包 + apache-cxf-3.1.15

    在开发基于SOAP协议的服务时,有时我们需要在请求中添加特定的Header信息,这在CXF框架下可以通过编程方式实现。Apache CXF是一个流行的开源服务框架,支持SOAP和RESTful服务的开发、部署和消费。本示例将详细介绍...

    CXF soap例子源码

    在这个"CXF soap例子源码"中,我们可以深入理解如何使用CXF框架来实现基于SOAP的Web服务。 首先,SOAP是一种基于XML的协议,允许应用程序通过HTTP或其他传输协议进行通信。在CXF中,你可以使用Java API for RESTful...

    Cxf客户端及服务器端,实现客户端和服务器端的权限验证

    在CXF中,可以使用WS-Security配置来实现。例如,可以使用X.509证书进行客户端和服务器端的身份验证,或者使用UsernameToken来传递用户名和密码。此外,还可以使用加密和签名策略来保护消息内容。 为了实现这些功能...

    cxf-soap内容解析、更改(助记)

    在使用CXF进行SOAP消息处理时,还需要关注WS-I(Web Services Interoperability)标准,以确保服务的互操作性。此外,错误处理也是关键,因为网络问题或格式错误可能导致解析异常,需要适当地捕获和处理。 由于没有...

    CXF 添加soap 头部信息.zip_CXF增加soap头验证_bluex8z_cxf_meltedkw7_soap信息头

    安装完成后,可以使用SOAP UI等工具发送带有自定义SOAP头的请求,以测试CXF服务是否能够正确处理和验证头部信息。 综上所述,通过Apache CXF提供的Interceptor机制,我们可以方便地在SOAP消息中添加、读取和验证...

    基于Soap协议下CXF框架开发Webservice

    本篇文章将深入探讨如何使用CXF框架在SOAP协议下开发Web服务。 首先,我们需要理解SOAP的基本概念。SOAP是一种轻量级的消息协议,其主要目标是提供一种独立于语言、平台和网络协议的方式,使得分布式系统能够通过...

    CXF-SOAP搭建WebService服务端demo

    8. **测试**:编写SOAP客户端或使用CXF提供的工具进行服务调用测试,验证服务是否正常工作。 在这个过程中,我们还需要理解WSDL(Web Service Description Language),它是SOAP服务的接口定义,描述了服务的地址、...

    使用CXF开发WebService

    本篇内容将深入探讨如何使用CXF和Spring来创建和使用Web服务。 首先,我们需要了解CXF中的关键注解: 1. **@WebService**:此注解用于标记一个接口或者实现类为Web服务。`name`、`serviceName`和`targetNamespace`...

    第16讲-SOAP与CXF开发WebService.pptx

    使用CXF开发Web服务,开发者可以轻松地创建服务接口和服务实现,CXF会自动处理SOAP消息的编码和解码。此外,CXF还支持动态客户端,使得调用Web服务就像调用本地Java方法一样简单。 在实际应用中,SOAP的传输协议...

    cxf开发web服务

    CXF允许开发者使用Java语言直接编写服务接口和实现,而无需关心底层的通信细节。 在基于Eclipse开发CXF Web服务时,首先需要安装CXF插件,这将提供集成的开发环境,包括服务的创建、调试和测试工具。接下来,你可以...

    拼接soap,判断soap是否连接成功,返回接口的信息,解析soap报文,解析后的soap转成实体

    在Java中,可以使用JAXB(Java Architecture for XML Binding)或者第三方库如Apache CXF,将SOAP响应XML解析为Java对象。这通常涉及创建对应的Java类来映射XML元素。例如,如果我们有一个如下的SOAP响应: ```xml ...

    soap的实现简单的服务发布

    3. 绑定服务:使用SOAP框架(如Axis、CXF等)将服务接口与实现绑定到一个网络端点,使得服务可以通过HTTP进行访问。 4. 发布服务:通过WSDL文档描述服务的接口和地址,发布到服务注册中心或者公开的URL上,供客户端...

    CXF webservice 动态地址客户端相关代码和jar包

    Apache CXF 是一个开源的Java框架,主要用于构建和开发Web服务。它支持多种Web服务标准,包括SOAP、RESTful API以及WS-*规范。在CXF中,动态地址客户端是指能够根据运行时的信息(如服务器地址、端口等)动态改变...

    SOAP接口开发chm

    在IT行业中,SOAP(Simple Object Access Protocol)是一种用于交换结构化信息的标准协议,常用于Web服务的实现。它基于XML,允许应用程序通过HTTP等传输协议进行通信,提供了一种标准化的方式来封装请求和响应数据...

Global site tag (gtag.js) - Google Analytics