SOAP1.1 and SOAP1.2
在用cxf 做webservice客户端的时候碰到的:
javax.xml.ws.soap.SOAPFaultException: A SOAP 1.2 message is not valid when sent to a SOAP 1.1 only endpoint.
在网上上找了一些资料但是还是不能解决我的问题,但是还是要感谢下, 不然太不厚道了
- if (soapVersion == Soap12.getInstance()
- && version == Soap11.getInstance()) {
- throw new SoapFault(new Message("INVALID_11_VERSION", LOG, ns, xmlReader.getLocalName()),
- Soap11.getInstance().getVersionMismatch());
- }
- <?xml version="1.0" encoding="UTF-8"?>
- <beans xmlns="http://www.springframework.org/schema/beans"
- xmlns:jaxws="http://cxf.apache.org/jaxws" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- 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">
- <bean id="jaxWsProxyFatory" class="org.apache.cxf.jaxws.JaxWsProxyFactoryBean">
- <property name="bindingId" value="http://www.w3.org/2003/05/soap/bindings/HTTP/" />
- <property name="serviceClass" value="net.carefx.cds.v1.services.core.CdsCoreServices" />
- <property name="address" value="http://localhost:8181/cxf/coreServices" />
- </bean>
- <bean id="soapSerivces" class="net.carefx.cds.testtool.proxy.SoapServices">
- <property name="factory" ref="jaxWsProxyFatory" />
- </bean>
- </beans>
- <span style="font-weight: normal;">
- public class SoapServices
- {
- private static final Logger logger = new Logger (SoapServices.class.getName ());
- private JaxWsProxyFactoryBean m_factory;
- private CdsCoreServices cdsCoreServices;
- public JaxWsProxyFactoryBean getFactory ()
- {
- return m_factory;
- }
- public void setFactory (JaxWsProxyFactoryBean factory)
- {
- m_factory = factory;
- }
- public CdsCoreServices getCdsCoreServices ()
- {
- if (cdsCoreServices == null)
- {
- cdsCoreServices = (CdsCoreServices) m_factory.create ();
- }
- return cdsCoreServices;
- }
- }</span>
C# java JAX-WS 问题
webservices 是java写的,用 JDK自带的EndPoint发布,客户端是用C#调用,
在服务器端抛出异常,尽管执行是正常的。
Unsupported Content-Type: application/soap+xml;charset=UTF-8 Supported ones are: [text/xml]
请问这是什么问题? 怎么解决呢? Google 了半天也没找到答案
----------------------
经试验,是C#生成客户端的过程中抛出的,用wsimport 没问题。 是soap版本的问题?
这个问题是解决了, 确实版本问题, jdk6默认是soap1.1
增加 @BindingType("http://java.sun.com/xml/ns/jaxws/2003/05/soap/bindings/HTTP/")
高亮的地址真是难找,SOAPBinding 里面定义的是 http://www.w3.org/2003/05/soap/bindings/HTTP/, 但不能用,提示找不到
communication, my WSDL and here is also my sun-jaxws.xml:
<?xml
version="1.0" encoding="UTF-8"?>
<endpoints version="2.0" xmlns="http://java.sun.com/xml/ns/jax-ws/ri/runtime">
<endpoint
name="FormDataService"
implementation="de.bolsys.netcon.gatewaydb.wsdl.DefaultFormDataService"
wsdl="WEB-INF/wsdl/netgateway.wsdl"
binding="http://java.sun.com/xml/ns/jaxws/2003/05/soap/bindings/HTTP/"
url-pattern="/FormDataService"
enable-mtom="true"/>
</endpoints>
My service annotations:
@WebService(name =
"formDataPortType", targetNamespace = "http://bolsys.de/netcon/gatewaydb/wsdl")
@SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE)
@BindingType(value=javax.xml.ws.soap.SOAPBinding.SOAP12HTTP_MTOM_BINDING)
@XmlSeeAlso({
ObjectFactory.class
})
My client
annotations:
@WebServiceClient(name = "FormDataService", targetNamespace =
"http://bolsys.de/netcon/gatewaydb/wsdl")
Did I
forget anything?
[Message sent by forum member 'radovana' (radovana)]
It
is because your wsdl using soap11 binding, you can either change the binding to
soap12
like this " xmlns:soapbind="http://schemas.xmlsoap.org/wsdl/soap12/"
or simply
remove binding="http://java.sun.com/xml/ns/jaxws/2003/05/soap/bindings/HTTP/"
from your deploy descriptor
SOAP1.1 and SOAP1.2的更多相关文章
- axis2设置soap1.1或soap1.2协议
现在Axis.Axis2都是同时支持SOAP1.1和SOAP1.2的.即在服务器端发布一个WebService服务之后,客户端既可以通过SOAP1.1版本来访问服务器的服务,也可以通过SOAP1.2版 ...
- soap1.1与soap1.2
1.soap1.2 如果加上jar包后,项目启动报错,有可能是jar包没起作用, 解决方法:把jar包移除,重新加入jar包 TCP/IP Monitor监测到的内容: soap1.2请求与soap1 ...
- 用java实现简单快速的webservice客户端/数据采集器(支持soap1.1和soap1.2标准,支持utf-8编码)
前言: 用了cxf,axis等各种wbeservice实现库,简单试用了一下动态调用的方式,很不满意,完全无法满足业务的需要,所以自己实现了一个webservice采集客户端,方便动态调用外部webs ...
- SOAP1.1 VS SOAP1.2
SOAP提升: 目前WebService的协议主要有SOAP1.1和1.2.两者的命名空间不同. 见下页对比 SOAP1.1版本与SOAP1.2版本在头信息上存在差异.SOAP1.1存在SOAPAct ...
- soap1.1与soap1.2区别
- WebService:设置服务器提供SOAP1.2的服务
1,访问通过cxf发布的服务 (1)与之前一样,同样可以通过在本地通过wsdl文件和命令行生成Java文件来访问服务. 但是我们既然使用了cxf发布,就要通过cxf的工具生成访问.可以通过cxf目录的 ...
- CXF支持 SOAP1.1 SOAP1.2协议
SOAP协议分为两个版本 1.1 1.2 默认支持1.1 实现方式: 1.编写接口 import javax.jws.WebService; @WebService public inte ...
- webservice初识,SOAP1.1版本
客户端与服务端模式,非web端发布 1.1 [Jax-ws第一个例子] 1.1.1 第一步:服务端开发 编写SEI(Service Endpoint Interface),SEI在w ...
- cxf ServerFactoryBean 生成基于soap1.2的WebServices
//获得服务工厂bean ServerFactoryBean bean = new ServerFactoryBean(); HTTPTransportFactory httpTransportFac ...
随机推荐
- solr特点四: SpellCheck(拼写检查)
接下来,我将介绍如何向应用程序添加 “您是不是要找……”(拼写检查). 提供拼写建议 Lucene 和 Solr 很久以前就开始提供拼写检查功能了,但直到添加了 SearchComponent架构之后 ...
- 配置ssh使用socks代理
ssh -o ProxyCommand='nc -x 127.0.0.1:1080 %h %p' username@server
- SQL字符串分割转列,Sql列转字符串
declare @strVar varchar(2000)declare @ResultVar varchar(2000)set @ResultVar='[薄饼],[点心],[海鲜],[酒吧],[楼面 ...
- mono+jexus 部署Asp.Net Mvc5之CompilationException2
好不容易在ubuntu上搭建了mono+jexus,欣喜若狂的部署上发布的网站,急忙打开,成功运行. 但是别高兴的太早,当我打开WebApi帮助页时出现了CompilationException. 一 ...
- 关于类属性值校验的一点记录 【知识点Attribute】
好久没有进来了,之前励志坚持写博客,记录自己在做代码搬运工这段历程中点滴,可是仅仅只坚持了几天,就放弃了!果然是,世上无难事,只要肯放弃!哈哈……闲话不多说,开始进入正题,给自己留点笔记,避免将来老了 ...
- LightOJ 1197 LightOJ 1197(大区间素数筛选)
http://lightoj.com/volume_showproblem.php?problem=1197 题目大意: 就是给你一个区间[a,b]让你求这个区间素数的个数 但a.b的值太大没法直接进 ...
- G - 確率(水题)
原文链接 G - 確率 Time Limit:1000MS Memory Limit:131072KB 64bit IO Format:%lld & %llu Submit S ...
- “全栈2019”113篇Java基础学习资料及总结
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- IDEA中配置SpringMVC框架 第一个演示【转】
环境: intellij IDEA 2017 CI JDK 1.8 tomcat 8.5.23 具体步骤 1.新建项目 勾选Spring MVC .Web Application(勾选了Spring ...
- thinkphp3搜索结果分页
公司的办公室搬到武昌,办公室水不好喝 还是乐百氏 娃哈哈的水我们oa用的tp3的一套oa,现在boss要求按状态 和类型(2个维度)来搜索案子 数量多,用 分页注意到初始的表单 input的name ...