sunny_inw
sunny_inw

Reputation: 31

Weblogic SOAP request with WSSE security header fails to process

I have configured a service deployed on Weblogic which uses WSSE security header authentication. The security headers (username and password) are used to pass on to LDAP to check for the client's authentication.

The security header are embedded as follows in the SOAP envelop of my request.

<wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
  <wsse:UsernameToken>
    <wsse:Username>iam-uid=xxx,ou=zzz,dc=ccc,dc=vvv,dc=qqq</wsse:Username>
    <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">heeey</wsse:Password>
  </wsse:UsernameToken>
</wsse:Security> 

However, the request does not even reach my service. It fails to process on Weblogic itself. Following exception is received.

<Sep 6, 2018 5:29:46 PM CEST> <Error> <com.sun.xml.ws.transport.http.HttpAdapter> <[ACTIVE] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <> <BEA-000000> <null
java.lang.AbstractMethodError
    at com.sun.xml.ws.util.xml.XmlUtil.newTransformerFactory(XmlUtil.java:392)
    at com.sun.xml.ws.util.xml.XmlUtil.newTransformerFactory(XmlUtil.java:400)
    at com.sun.xml.ws.message.stream.StreamHeader.writeTo(StreamHeader.java:212)
    at weblogic.wsee.jaxws.security.SCTIDRoutingInfoFinder.findRoutingInfo(SCTIDRoutingInfoFinder.java:63)
    at weblogic.wsee.jaxws.cluster.BaseSOAPRouter.route(BaseSOAPRouter.java:153)
    at weblogic.wsee.jaxws.cluster.InPlaceSOAPRouter.route(InPlaceSOAPRouter.java:190)
    at weblogic.wsee.jaxws.cluster.ClusterRoutingTubeUtils.handleInboundMessage(ClusterRoutingTubeUtils.java:110)
    at weblogic.wsee.jaxws.cluster.ClusterRoutingServerTube.processRequest(ClusterRoutingServerTube.java:82)
    at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:1136)
    at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:1050)
    at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:1019)
    at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:877)
    at com.sun.xml.ws.server.WSEndpointImpl$2.process(WSEndpointImpl.java:419)
    at com.sun.xml.ws.transport.http.HttpAdapter$HttpToolkit.handle(HttpAdapter.java:868)
    at com.sun.xml.ws.transport.http.HttpAdapter.handle(HttpAdapter.java:422)
    at com.sun.xml.ws.transport.http.servlet.ServletAdapter.handle(ServletAdapter.java:169)
    at weblogic.wsee.jaxws.WLSServletAdapter.handle(WLSServletAdapter.java:199)
    at weblogic.wsee.jaxws.HttpServletAdapter$AuthorizedInvoke.run(HttpServletAdapter.java:640)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
    at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:146)
    at weblogic.wsee.util.ServerSecurityHelper.authenticatedInvoke(ServerSecurityHelper.java:108)
    at weblogic.wsee.jaxws.HttpServletAdapter$3.run(HttpServletAdapter.java:284)
    at weblogic.wsee.jaxws.HttpServletAdapter.post(HttpServletAdapter.java:293)
    at weblogic.wsee.jaxws.JAXWSServlet.doRequest(JAXWSServlet.java:128)
    at weblogic.servlet.http.AbstractAsyncServlet.service(AbstractAsyncServlet.java:99)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:844)
    at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:280)
    at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:254)
    at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:136)
    at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:346)
    at 
weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:243)

Upvotes: 0

Views: 747

Answers (1)

mkane
mkane

Reputation: 920

Make sure that xmlparserv2.jar is not being used by the container. If there are variations of that .jar try removing and using xerces instead.

Upvotes: 0

Related Questions