`

cxf生成endpoint,使用soap1.1和soap1.2

阅读更多
开发了一个web service服务,客户居然不认,查看客户发过来的请求,其soap header是
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope">

但我们给回的响应soap header是
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope">

查了一下资料,发现客户发过来的是soap1.1的header,我们的响应却是soap1.2的header,所以怀疑是不是这里出了问题

由于我们的服务端是根据wsdl证书反向生成的,所以就先查了一下原始wsdl
<wsdl:service name="inbound.webServices.ticket.saService">
		<wsdl:port name="inbound.webServices.ticket.saServiceSoap" binding="tns:inbound.webServices.ticket.saServiceSoap">
			<soap:address location="http://localhost:49169/saService.asmx" />
		</wsdl:port>
		<wsdl:port name="inbound.webServices.ticket.saServiceSoap12" binding="tns:inbound.webServices.ticket.saServiceSoap12">
			<soap12:address location="http://localhost:49169/saService.asmx" />
		</wsdl:port>
	</wsdl:service>

可以看到,wsdl同时声明了soap11和soap12,上网查了一下,在cxf的配置文件里增加了以下的配置

<jaxws:endpoint id="sp" implementor="xxx" address="/WebServiceSP">
                <jaxws:binding>
			<soap:soapBinding version="1.1" />
		</jaxws:binding>
</jaxws:endpoint>

重启应用以后,发现没有生效,不知道是为什么

于是又检查了web service实现类的代码,发现类开头的注解是这么写的:
@WebService(serviceName = "xxx", portName = "inbound.webServices.ticket.saServiceSoap12", targetNamespace = "xxx", wsdlLocation = "xxx/saService.wsdl", endpointInterface = "xxx")

看来看去,觉得就是portName最为可疑,把这里改成:
@WebService(serviceName = "xxx", portName = "inbound.webServices.ticket.saServiceSoap", targetNamespace = "xxx", wsdlLocation = "xxx/saService.wsdl", endpointInterface = "xxx")

再重启应用就OK了
分享到:
评论

相关推荐

    CXF打印SOAP报文,记录WebService日志

    通过上述步骤,我们成功实现了使用CXF打印SOAP报文的功能,并能够有效地记录WebService的日志信息。这对于调试和维护基于CXF的服务来说是非常有用的。此外,通过扩展此类自定义拦截器,还可以添加更多的功能,如安全...

    利用cxf和spring发布SOAP服务 整合所需jar包.

    在使用CXF和Spring发布SOAP服务时,我们首先需要在Spring配置文件中声明CXF的Servlet或Endpoint。例如,你可以使用`JaxWsServerFactoryBean`来创建和启动SOAP服务。下面是一个基本的配置示例: ```xml ...

    cxf客户端所需jar包-4个

    Apache CXF是一个开源的Java框架,它允许创建和消费Web服务,支持多种协议和标准,如SOAP、RESTful、WS-*等。下面我们将详细讨论这四个核心JAR文件在CXF客户端中的作用以及相关知识点。 1. **wsdl2java.jar**:这个...

    service.zip webservice cxf eclipse endpoint

    总的来说,这个项目展示了如何使用Eclipse和CXF来快速搭建和运行一个Web服务,这对于理解和实践Java Web服务开发是非常有价值的。通过学习和实践这个项目,你可以深入理解Web服务的工作机制,以及如何利用CXF和...

    apache-cxf-2.7.7以及cxf客户端所需要的jar包

    这些jar包对于创建、部署和消费Web服务至关重要,特别是对于使用命令行生成Web服务客户端的开发者来说。 Apache CXF允许开发者通过多种协议如SOAP、RESTful HTTP、XML/HTTP等来实现Web服务。在2.7.7版本中,CXF提供...

    cxf所需jar包(内含配置文件)

    在IT行业中,尤其是在Java Web开发领域,CXF框架是一个广泛使用的工具,用于构建和实现Web服务,包括SOAP和RESTful API。"cxf所需jar包(内含配置文件)"这个压缩包,正如其名,提供了SpringMVC与CXF整合所需的依赖...

    使用CXF开发WebService

    2. **@SOAPBinding**:这个注解用于定义SOAP协议和消息格式,比如SOAP 1.1或SOAP 1.2,以及参数风格(如RPC或Document)。 3. **@WebMethod**:它定义了一个服务操作,`operationName`属性对应于WSDL文档中的`wsdl:...

    spring-cxf-ws:一些使用spring和cxf生成webservice Rest和Soap的例子

    本文将深入探讨如何使用Spring和CXF来创建RESTful Web服务和SOAP Web服务,以及这两个技术结合的一些核心概念。 首先,Spring是一个开源的Java框架,主要用于简化企业级应用开发。它提供了依赖注入(Dependency ...

    cxf生成webservice接口

    本文将深入探讨如何使用CXF来生成Web服务接口,包括客户端和服务端的实现,帮助开发者更高效地进行Web服务的开发。 首先,我们需要了解什么是CXF。Apache CXF是一个强大的开源Java框架,它支持多种Web服务标准,如...

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

    总之,使用CXF框架在SOAP协议下开发Web服务,不仅可以享受到Java语言的强大功能,还能充分利用CXF提供的便利性和灵活性。通过深入学习和实践,开发者可以高效地构建跨平台、安全可靠的分布式系统。

    CXF文档介绍

    在协议和数据绑定方面,CXF支持SOAP 1.1和1.2,以及WS-I Basic Profile、WS-Security等标准。它能处理WSDL 1.1和2.0,还支持MTOM(Message Transmission Optimization Mechanism)。CXF的Data Bindings目前支持JAXB ...

    最新apache-cxf-3.2.7

    - **SOAP支持**:CXF提供SOAP 1.1和1.2的支持,可以处理各种SOAP消息。 - **RESTful服务**:通过JAX-RS,CXF可以轻松创建和消费RESTful服务,支持JSON和XML数据格式。 - **WSDL第一**:开发者可以基于WSDL文件...

    cxf所有的jar包

    1. **SOAP支持**:CXF提供了完整的SOAP栈,支持SOAP 1.1和1.2,能够处理WS-I Basic Profile兼容的服务,以及WSDL到Java或Java到WSDL的绑定。 2. **RESTful服务**:CXF不仅限于SOAP,还支持RESTful服务的创建。...

    apache-cxf-3.0.13官方完整jar包

    通过这个官方完整jar包,开发者可以获得CXF的核心功能,使用bin目录中的工具进行服务部署,查阅api文档学习和理解框架,借助simple示例快速上手,并且能与Spring 3.2.0框架紧密结合,实现高效的服务开发和管理。

    webservice使用cxf的实例

    1. **CXF简介**:CXF是一个开源的Java框架,它支持基于标准的Web服务,包括SOAP 1.1/1.2,RESTful HTTP,以及WS-Security等安全标准。它提供了从Java类直接生成WSDL文档的能力,反之亦然,即Java-to-WSDL(JAX-WS)...

    apache-cxf-2.2.8.jar包以及src源码

    1. SOAP 1.1和1.2:用于XML基础的Web服务通信。 2. WSDL(Web Services Description Language):用于定义服务接口和消息交换模式。 3. JAXB(Java Architecture for XML Binding):将Java对象和XML文档相互转换。 ...

    Spring集成Cxf暴露WebServices示例

    Cxf,另一方面,是一个开源的Web服务框架,它支持WS-*标准,可以创建和消费SOAP以及RESTful Web服务。 集成Spring和Cxf的步骤通常包括以下几个关键部分: 1. **配置Spring**:首先,我们需要创建一个Spring配置...

    idea + spring4.3.7.RELEASE+cxf3.1.0整合+客户端调用

    Apache CXF则是一个开源的Web服务框架,它支持SOAP、RESTful等多种通信协议,使得开发者可以方便地创建和消费Web服务。在Spring项目中整合CXF,可以实现服务的发布与调用,提升系统的可扩展性和互操作性。 在IDEA中...

    cxf3.2.0编码GBK的不可映射字符问题

    CXF允许开发者通过多种Web服务标准来创建和消费Web服务,包括SOAP和RESTful服务。然而,在使用CXF时,可能会遇到各种编码问题,特别是当处理非ASCII字符集,如GBK时。本篇将深入探讨"cxf3.2.0编码GBK的不可映射字符...

    cxf-2.7.5src

    1. **SOAP和RESTful服务支持**:CXF提供了全面的支持,用于创建和消费SOAP 1.1和1.2服务,同时也能处理RESTful服务,利用JAX-RS规范。 2. **多种协议和绑定支持**:CXF能够处理HTTP、HTTPS、JMS、SMTP等多种协议,...

Global site tag (gtag.js) - Google Analytics