CXF输入和输出报文都需要命名空间前缀,但响应报文就是不出来。

如题,楼主折腾一天了,就是出不来想要的效果,简单给大家描述下: 1.想要的效果如图: 2.但做出来的效果却如图:(~~~~(>_<)~~~~) 3.结果首…

如题,楼主折腾一天了,就是出不来想要的效果,简单给大家描述下:

1.想要的效果如图:

CXF输入和输出报文都需要命名空间前缀,但响应报文就是不出来。

2.但做出来的效果却如图:(~~~~(>_<)~~~~)

CXF输入和输出报文都需要命名空间前缀,但响应报文就是不出来。

3.结果首先功能没# ( \ G Q有问题已经过验证,x = d K d f 6所以就是哪里需要配置下就好,愣是找不到还需要配哪里。

如图,这是cxf的配置文件,命名空间已加。

CXF输入和输出报文都需要命名空间前缀,但响应报文就是不出来。

4.后来网上找了资料,问了大神们,都说需要加一个package-info.java在同一目录下即可。

如图,这俩文件都加了。

CXF输入和输出报文都需要命名空间前缀,但响应报文就是不出来。

代码如下:

package-info.java:

@javax.xml.bind.annotation.XmlSchema(namespace = “http://oa.soa.csg.cn”,elementFormDefault = java{ | 7 U dx.xml.bind.annotation.XmlNsForm.QUALIFIEDw r R m)
package cn.csg.soa.oa.workbenX U y X c 3ch;

ObjectFactory.java,比较长$ D /,就只截出关键部分:

CXF输入和输出报文都需要命名空间前缀,但响应报文就是不出来。

—————-N @ % D G ?——————-g b D F b q—-B ) * h——-

PS:该加的都加了,可用soapui工具进行wsdl地址的调r F z C 2试时,请求报文如1图所示,是有空间前缀的。但是响应报文如图所示就是没有,无奈f w p – f 2 H了已经。

PS2:然后又搜了一些资料,有一个大神说把ObjectFactory– r $ , _ V 5 O.java中response的namespace=“”,就能出来了,事6 G 4 X实是,确实出来了,但是是ns2,不是@ { m a V y U自己想要的。

PS3:如上,想到既然是ns2,干脆用cxf的拦截器获取报文然后全部改成oa不就好了吗,然后又去网上找了拦截器的资料,根据参考代码实现了,我靠,还a 6 r T c E R H真可以。

PS4:如上,高兴之余,以为自己牛笔了搞定了,结果发现cxf拦截器获取报文的那段代码如果数据过大,就不会打印出^ _ W来,尼玛,不打印出来我还改个J8啊……然后就泪崩了。~~o(>_<)o ~~

以上便是楼主心路历程,领导还一直催着赶紧完成,楼主依然5 D Z接近崩溃,希望遇到过类似问题的大神伸出援助之n – 1 \手,好人一生平W x ^安,祝r ^ o ~ 8 g ~你遇到美女倒8 ^ L \ # W B h W贴。

回答

原创文章,作者:町子门户,如若转载,请注明出处:https://www.6fzz.com/12906.html

(0)
上一篇 2021年5月19日 上午12:48
下一篇 2021年5月19日 上午12:48

相关推荐

发表评论

您的电子邮箱地址不会被公开。