weblogic 下cxf webservice 调用服务报错
<Aug 22, 2019 8:56:57 PM CST> <org.apache.cxf.phase.PhaseInterceptorChain> <Interceptor for {http://services.gzyc.chinasofti.com/}commonWebService has thrown exception, unwinding now
java.lang.RuntimeException: Cannot create a secure XMLInputFactory
at org.apache.cxf.staxutils.StaxUtils.createXMLInputFactory(StaxUtils.java:315)
at org.apache.cxf.staxutils.StaxUtils.getXMLInputFactory(StaxUtils.java:265)
at org.apache.cxf.staxutils.StaxUtils.createXMLStreamReader(StaxUtils.java:1701)
at org.apache.cxf.interceptor.StaxInInterceptor.handleMessage(StaxInInterceptor.java:123)
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:272)
at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121)
at org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:249)
at org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:248)
at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:222)
at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:154)
at org.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CXFNonSpringServlet.java:181)
at org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:290)
at org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(AbstractHTTPServlet.java:210)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
at org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:265)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:301)
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:27)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:57)
at oracle.security.jps.ee.http.JpsAbsFilter
1.
r
u
n
(
J
p
s
A
b
s
F
i
l
t
e
r
.
j
a
v
a
:
119
)
a
t
o
r
a
c
l
e
.
s
e
c
u
r
i
t
y
.
j
p
s
.
u
t
i
l
.
J
p
s
S
u
b
j
e
c
t
.
d
o
A
s
P
r
i
v
i
l
e
g
e
d
(
J
p
s
S
u
b
j
e
c
t
.
j
a
v
a
:
324
)
a
t
o
r
a
c
l
e
.
s
e
c
u
r
i
t
y
.
j
p
s
.
e
e
.
u
t
i
l
.
J
p
s
P
l
a
t
f
o
r
m
U
t
i
l
.
r
u
n
J
a
a
s
M
o
d
e
(
J
p
s
P
l
a
t
f
o
r
m
U
t
i
l
.
j
a
v
a
:
460
)
a
t
o
r
a
c
l
e
.
s
e
c
u
r
i
t
y
.
j
p
s
.
e
e
.
h
t
t
p
.
J
p
s
A
b
s
F
i
l
t
e
r
.
r
u
n
J
a
a
s
M
o
d
e
(
J
p
s
A
b
s
F
i
l
t
e
r
.
j
a
v
a
:
103
)
a
t
o
r
a
c
l
e
.
s
e
c
u
r
i
t
y
.
j
p
s
.
e
e
.
h
t
t
p
.
J
p
s
A
b
s
F
i
l
t
e
r
.
d
o
F
i
l
t
e
r
(
J
p
s
A
b
s
F
i
l
t
e
r
.
j
a
v
a
:
171
)
a
t
o
r
a
c
l
e
.
s
e
c
u
r
i
t
y
.
j
p
s
.
e
e
.
h
t
t
p
.
J
p
s
F
i
l
t
e
r
.
d
o
F
i
l
t
e
r
(
J
p
s
F
i
l
t
e
r
.
j
a
v
a
:
71
)
a
t
w
e
b
l
o
g
i
c
.
s
e
r
v
l
e
t
.
i
n
t
e
r
n
a
l
.
F
i
l
t
e
r
C
h
a
i
n
I
m
p
l
.
d
o
F
i
l
t
e
r
(
F
i
l
t
e
r
C
h
a
i
n
I
m
p
l
.
j
a
v
a
:
57
)
a
t
o
r
a
c
l
e
.
s
e
c
u
r
i
t
y
.
w
l
s
.
f
i
l
t
e
r
.
S
S
O
S
e
s
s
i
o
n
S
y
n
c
h
r
o
n
i
z
a
t
i
o
n
F
i
l
t
e
r
.
d
o
F
i
l
t
e
r
(
S
S
O
S
e
s
s
i
o
n
S
y
n
c
h
r
o
n
i
z
a
t
i
o
n
F
i
l
t
e
r
.
j
a
v
a
:
293
)
a
t
w
e
b
l
o
g
i
c
.
s
e
r
v
l
e
t
.
i
n
t
e
r
n
a
l
.
F
i
l
t
e
r
C
h
a
i
n
I
m
p
l
.
d
o
F
i
l
t
e
r
(
F
i
l
t
e
r
C
h
a
i
n
I
m
p
l
.
j
a
v
a
:
57
)
a
t
o
r
a
c
l
e
.
d
m
s
.
s
e
r
v
l
e
t
.
D
M
S
S
e
r
v
l
e
t
F
i
l
t
e
r
.
d
o
F
i
l
t
e
r
(
D
M
S
S
e
r
v
l
e
t
F
i
l
t
e
r
.
j
a
v
a
:
163
)
a
t
w
e
b
l
o
g
i
c
.
s
e
r
v
l
e
t
.
i
n
t
e
r
n
a
l
.
F
i
l
t
e
r
C
h
a
i
n
I
m
p
l
.
d
o
F
i
l
t
e
r
(
F
i
l
t
e
r
C
h
a
i
n
I
m
p
l
.
j
a
v
a
:
57
)
a
t
w
e
b
l
o
g
i
c
.
s
e
r
v
l
e
t
.
i
n
t
e
r
n
a
l
.
W
e
b
A
p
p
S
e
r
v
l
e
t
C
o
n
t
e
x
t
1.run(JpsAbsFilter.java:119) at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:324) at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:460) at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:103) at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:171) at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:71) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:57) at oracle.security.wls.filter.SSOSessionSynchronizationFilter.doFilter(SSOSessionSynchronizationFilter.java:293) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:57) at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:163) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:57) at weblogic.servlet.internal.WebAppServletContext
1.run(JpsAbsFilter.java:119)atoracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:324)atoracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:460)atoracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:103)atoracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:171)atoracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:71)atweblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:57)atoracle.security.wls.filter.SSOSessionSynchronizationFilter.doFilter(SSOSessionSynchronizationFilter.java:293)atweblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:57)atoracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:163)atweblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:57)atweblogic.servlet.internal.WebAppServletContextServletInvocationAction.wrapRun(WebAppServletContext.java:3730)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3696)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2273)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2179)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1490)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:256)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:221)
解决方法:经过各种方法尝试,发现一个问题,在oracle中间件安装的工程中已经存在wstx-asl的jar包,在自己开发的应用中也存在wsts-asl的jar包,因此判定是wsts-asl包冲突
解决步骤:
1、在项目路径下WebContent\WEB-INF\weblogic.xml中增加内容如下:
<weblogic-web-app xmlns=“http://www.bea.com/ns/weblogic/90”>
<context-root>/</context-root>
<container-descriptor>
<prefer-web-inf-classes>false</prefer-web-inf-classes>
<prefer-application-packages>
<package-name>com.ctc.wstx.*</package-name>
</prefer-application-packages>
</container-descriptor>
</weblogic-web-app>
2、删除项目中的冲突的wstx-asl-3.2.1.jar包
3、如果在部署激活应用时出错,请采用以下步骤:
将wstx-asl-3.2.1.jar包放入应用中先部署,部署完后,在对应的weblogic应用服务器上的部署文件中删除,再重启应用服务器。例如weblogic集群下的部署文件如下: