Hi Everyone,
I'm having problem when creating a simple web service that call DFS Query Service, the problem that occured :
---
com.emc.documentum.fs.rt.AuthenticationException: Authorization failed, could not find identities in service context with token "temporary/127.0.0.1-1246115953307--8234152043876265810"
at com.emc.documentum.fs.rt.impl.handler.AuthorizationHandler.handleMessage(AuthorizationHandler.java:44)
at com.emc.documentum.fs.rt.impl.handler.AuthorizationHandler.handleMessage(AuthorizationHandler.java:1)
at com.sun.xml.ws.handler.HandlerProcessor.callHandleMessage(HandlerProcessor.java:284)
at com.sun.xml.ws.handler.HandlerProcessor.callHandlersRequest(HandlerProcessor.java:135)
at com.sun.xml.ws.handler.ServerSOAPHandlerTube.callHandlersOnRequest(ServerSOAPHandlerTube.java:133)
at com.sun.xml.ws.handler.HandlerTube.processRequest(HandlerTube.java:116)
at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:595)
at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:554)
at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:539)
at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:436)
at com.sun.xml.ws.server.WSEndpointImpl$2.process(WSEndpointImpl.java:243)
at com.sun.xml.ws.transport.http.HttpAdapter$HttpToolkit.handle(HttpAdapter.java:444)
at com.sun.xml.ws.transport.http.HttpAdapter.handle(HttpAdapter.java:244)
at com.sun.xml.ws.transport.http.servlet.ServletAdapter.handle(ServletAdapter.java:135)
at com.sun.xml.ws.transport.http.servlet.WSServletDelegate.doGet(WSServletDelegate.java:129)
at com.sun.xml.ws.transport.http.servlet.WSServletDelegate.doPost(WSServletDelegate.java:160)
at com.sun.xml.ws.transport.http.servlet.WSServlet.doPost(WSServlet.java:75)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:241)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:595)
---
To findout the problem, I've setup two testing envrionment that will run the same piece of code, one is simple java application (using the DFS SDK Java Sample) and other is my web service deloyed on GlassFish 2. I'm also put Charles Proxy to monitor webservice request, here is what I got from that:
--- Successfuly DFS Request (Simple Java app) --
GET /services/core/runtime/ContextRegistryService?wsdl HTTP/1.1
User-Agent: Java/1.5.0_16
Host: localhost:9081
Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
Connection: keep-alive
POST /services/core/runtime/ContextRegistryService?wsdl HTTP/1.1
SOAPAction: ""
Content-Type: text/xml;charset="utf-8"
Accept: text/xml, multipart/related, text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
User-Agent: JAX-WS RI 2.1.3-b02-
Host: localhost:9081
Connection: keep-alive
Content-Length: 1496
<?xml version="1.0" ?><S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"><S:Header><ServiceContext xmlns="http://context.core.datamodel.fs.documentum.emc.com/" xmlns:ns2="http://properties.core.datamodel.fs.documentum.emc.com/" xmlns:ns3="http://profiles.core.datamodel.fs.documentum.emc.com/" xmlns:ns4="http://query.core.datamodel.fs.documentum.emc.com/" xmlns:ns5="http://content.core.datamodel.fs.documentum.emc.com/" xmlns:ns6="http://core.datamodel.fs.documentum.emc.com/" token="temporary/127.0.0.1-1246117418088--2949143785546852881"><Identities xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" password="password" repositoryName="LAB" userName="Administrator" xsi:type="RepositoryIdentity"></Identities></ServiceContext></S:Header><S:Body><ns8:register xmlns:ns2="http://content.core.datamodel.fs.documentum.emc.com/" xmlns:ns3="http://core.datamodel.fs.documentum.emc.com/" xmlns:ns4="http://context.core.datamodel.fs.documentum.emc.com/" xmlns:ns5="http://profiles.core.datamodel.fs.documentum.emc.com/" xmlns:ns6="http://query.core.datamodel.fs.documentum.emc.com/" xmlns:ns7="http://properties.core.datamodel.fs.documentum.emc.com/" xmlns:ns8="http://services.rt.fs.documentum.emc.com/"><context><ns4:Identities xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ns4:RepositoryIdentity" repositoryName="LAB" password="password" userName="Administrator"/></context><host>http://localhost:9081/services/core/</host></ns8:register></S:Body></S:Envelope>GET /services/core/QueryService?WSDL HTTP/1.1
User-Agent: Java/1.5.0_16
Host: localhost:9081
Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
Connection: keep-alive
POST /services/core/QueryService HTTP/1.1
Cookie: JSESSIONID=24559E901B6952C7DF6720F06C1C1756
SOAPAction: ""
Content-Type: text/xml;charset="utf-8"
Accept: text/xml, multipart/related, text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
User-Agent: JAX-WS RI 2.1.3-b02-
Host: localhost:9081
Connection: keep-alive
Content-Length: 2065
<?xml version="1.0" ?><S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"><S:Header><wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"><wsse:BinarySecurityToken QualificationValueType="http://schemas.emc.com/documentum#ResourceAccessToken" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" wsu:Id="RAD">LABBOX/192.168.89.137-1246117419807-8101719431405820799-12</wsse:BinarySecurityToken></wsse:Security><ServiceContext xmlns="http://context.core.datamodel.fs.documentum.emc.com/" xmlns:ns2="http://properties.core.datamodel.fs.documentum.emc.com/" xmlns:ns3="http://profiles.core.datamodel.fs.documentum.emc.com/" xmlns:ns4="http://query.core.datamodel.fs.documentum.emc.com/" xmlns:ns5="http://content.core.datamodel.fs.documentum.emc.com/" xmlns:ns6="http://core.datamodel.fs.documentum.emc.com/"><Profiles xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" allowAsyncContentTransfer="false" allowCachedContentTransfer="false" isProcessOLELinks="false" transferMode="BASE64" xsi:type="ns3:ContentTransferProfile"></Profiles></ServiceContext></S:Header><S:Body><ns9:execute xmlns:ns2="http://core.datamodel.fs.documentum.emc.com/" xmlns:ns3="http://query.core.datamodel.fs.documentum.emc.com/" xmlns:ns4="http://properties.core.datamodel.fs.documentum.emc.com/" xmlns:ns5="http://profiles.core.datamodel.fs.documentum.emc.com/" xmlns:ns6="http://schema.core.datamodel.fs.documentum.emc.com/" xmlns:ns7="http://content.core.datamodel.fs.documentum.emc.com/" xmlns:ns8="http://rt.fs.documentum.emc.com/" xmlns:ns9="http://core.services.fs.documentum.emc.com/"><query xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ns3:PassthroughQuery" queryString="select r_object_id, user_name from dm_user where user_name='Administrator'"><ns3:repositories>LAB</ns3:repositories></query><execution cacheStrategyType="DEFAULT_CACHE_STRATEGY" maxResultPerSource="-1" maxResultCount="100" startingIndex="0"/></ns9:execute></S:Body></S:Envelope>
----
-- Unsucessful DFS Request (Web Service) --
GET /services/core/runtime/ContextRegistryService?wsdl HTTP/1.1
User-Agent: Java/1.5.0_16
Host: localhost:9081
Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
Connection: keep-alive
POST /services/core/runtime/ContextRegistryService?wsdl HTTP/1.1
SOAPAction: ""
Content-Type: text/xml;charset="utf-8"
Accept: text/xml, multipart/related, text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
User-Agent: JAX-WS RI 2.1.3.1-hudson-417-SNAPSHOT
Host: localhost:9081
Connection: keep-alive
Content-Length: 1070
<?xml version="1.0" ?><S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"><S:Body><ns8:register xmlns:ns2="http://content.core.datamodel.fs.documentum.emc.com/" xmlns:ns3="http://core.datamodel.fs.documentum.emc.com/" xmlns:ns4="http://context.core.datamodel.fs.documentum.emc.com/" xmlns:ns5="http://profiles.core.datamodel.fs.documentum.emc.com/" xmlns:ns6="http://query.core.datamodel.fs.documentum.emc.com/" xmlns:ns7="http://properties.core.datamodel.fs.documentum.emc.com/" xmlns:ns8="http://services.rt.fs.documentum.emc.com/"><context><ns4:Identities xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ns4:RepositoryIdentity" repositoryName="LAB" password="password" userName="Administrator"/><ns4:Profiles xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ns5:ContentTransferProfile" isProcessOLELinks="false" allowAsyncContentTransfer="false" allowCachedContentTransfer="false" geolocation="Pleasanton" transferMode="MTOM"/></context><host>http://localhost:9081/services/core/</host></ns8:register></S:Body></S:Envelope>GET /services/core/QueryService?WSDL HTTP/1.1
User-Agent: Java/1.5.0_16
Host: localhost:9081
Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
Connection: keep-alive
GET /services/core/runtime/AgentService.rest?method=getDeploymentId HTTP/1.1
User-Agent: Java/1.5.0_16
Host: localhost:9081
Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
Connection: keep-alive
POST /services/core/QueryService HTTP/1.1
Cookie: JSESSIONID=724044218094E119B1DFCDA41BA3F7C3
SOAPAction: ""
Content-Type: text/xml;charset="utf-8"
Accept: text/xml, multipart/related, text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
User-Agent: JAX-WS RI 2.1.3.1-hudson-417-SNAPSHOT
Host: localhost:9081
Connection: keep-alive
Transfer-Encoding: chunked
3d8
<?xml version="1.0" ?><S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"><S:Body><ns9:execute xmlns:ns2="http://core.datamodel.fs.documentum.emc.com/" xmlns:ns3="http://query.core.datamodel.fs.documentum.emc.com/" xmlns:ns4="http://properties.core.datamodel.fs.documentum.emc.com/" xmlns:ns5="http://profiles.core.datamodel.fs.documentum.emc.com/" xmlns:ns6="http://schema.core.datamodel.fs.documentum.emc.com/" xmlns:ns7="http://content.core.datamodel.fs.documentum.emc.com/" xmlns:ns8="http://rt.fs.documentum.emc.com/" xmlns:ns9="http://core.services.fs.documentum.emc.com/"><query xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ns3:PassthroughQuery" queryString="select r_object_id, object_name from dm_user where login_user_name='Administrator'"><ns3:repositories>LAB</ns3:repositories></query><execution cacheStrategyType="DEFAULT_CACHE_STRATEGY" maxResultPerSource="-1" maxResultCount="100" startingIndex="0"/></ns9:execute></S:Body></S:Envelope>
0
---
What can cause the problem of missing soap header in web service/web apps environment ? Is there any best way to solve this?
Thanks