You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@chemistry.apache.org by "Lester, Paul" <pa...@bankofamerica.com> on 2013/07/05 18:57:18 UTC
Issue with WebLogic Client mustUnderstand=1
My apologies if this is going to the wrong list. I couldn't find a users list.
I am new to OpenCMIS. I have run a number of tests inside of JUnit and all have contacted the server, returned a proper response in the form of meta data or a document; however, when I move this same code, unchanged, into WebLogic 10.3, I get an exception:
javax.xml.ws.soap.SOAPFaultException: MustUnderstand headers:[{http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd}Security] are not understood
The failure happens during the call to the SessionFactory createSession method.
I've read quite a bit about this on various forums, but have yet to find a solution. It appears, if I understand things correctly, that the server is replying with a mustUnderstand="1", as referenced by the response, but that my client is unable to process the header and, per security rules, must fail.
What do I need to do to make this work properly inside of WebLogic? Am I missing a configuration file somewhere?
Thank you!
Paul
SOAP request
<?xml version="1.0" encoding="UTF-8"?>
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Header>
<Security xmlns="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
<Timestamp xmlns="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<Created>2013-07-03T13:55:29Z</Created>
<Expires>2013-07-04T13:55:29Z</Expires>
</Timestamp>
<UsernameToken>
<Username>some_user</Username>
<Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">somepassword</Password>
<Created xmlns="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">2013-07-03T13:55:29Z</Created>
</UsernameToken>
</Security>
</S:Header>
<S:Body>
<ns2:getRepositoryInfo xmlns:ns2="http://docs.oasis-open.org/ns/cmis/messaging/200908/" xmlns="http://docs.oasis-open.org/ns/cmis/core/200908/">
<ns2:repositoryId>ECMSFITDEV</ns2:repositoryId>
</ns2:getRepositoryInfo>
</S:Body>
</S:Envelope>
SOAP response
<?xml version="1.0" encoding="UTF-8"?>
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/" 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" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<S:Header>
<wsse:Security S:mustUnderstand="1">
<wsu:Timestamp xmlns:ns15="http://schemas.xmlsoap.org/ws/2006/02/addressingidentity" xmlns:ns14="http://docs.oasis-open.org/ws-sx/ws-secureconversation/200512" xmlns:ns13="http://www.w3.org/2003/05/soap-envelope" wsu:Id="XWSSGID-1372296452640-685270172">
<wsu:Created>2013-07-03T13:55:29Z</wsu:Created>
<wsu:Expires>2013-07-03T14:00:29Z</wsu:Expires>
</wsu:Timestamp>
</wsse:Security>
</S:Header>
<S:Body>
<ns2:getRepositoryInfoResponse xmlns:ns2="http://docs.oasis-open.org/ns/cmis/messaging/200908/" xmlns="http://docs.oasis-open.org/ns/cmis/core/200908/">
<ns2:repositoryInfo>
<repositoryId>ECMSFITDEV</repositoryId>
<repositoryName>ECMSFITDEV</repositoryName>
<repositoryDescription>ECMSFITDEV</repositoryDescription>
<vendorName>EMC</vendorName>
<productName>Documentum</productName>
<productVersion>6.7.1000.0038</productVersion>
<rootFolderId>root</rootFolderId>
<capabilities>
<capabilityACL>manage</capabilityACL>
<capabilityAllVersionsSearchable>true</capabilityAllVersionsSearchable>
<capabilityChanges>none</capabilityChanges>
<capabilityContentStreamUpdatability>anytime</capabilityContentStreamUpdatability>
<capabilityGetDescendants>true</capabilityGetDescendants>
<capabilityGetFolderTree>true</capabilityGetFolderTree>
<capabilityMultifiling>true</capabilityMultifiling>
<capabilityPWCSearchable>false</capabilityPWCSearchable>
<capabilityPWCUpdatable>false</capabilityPWCUpdatable>
<capabilityQuery>bothcombined</capabilityQuery>
<capabilityRenditions>read</capabilityRenditions>
<capabilityUnfiling>false</capabilityUnfiling>
<capabilityVersionSpecificFiling>false</capabilityVersionSpecificFiling>
<capabilityJoin>inneronly</capabilityJoin>
</capabilities>
<aclCapability>
<supportedPermissions>both</supportedPermissions>
<propagation>repositorydetermined</propagation>
<permissions>
<permission>none</permission>
<description>No access is permitted.</description>
</permissions>
<permissions>
<permission>browse</permission>
<description>The user can look at property values but not at associated content.</description>
</permissions>
<permissions>
<permission>cmis:read</permission>
<description>The user can read content but not update. It includes browse permission.</description>
</permissions>
<permissions>
<permission>relate</permission>
<description>The user can attach an annotation to the object. It includes browse and read permissions.</description>
</permissions>
<permissions>
<permission>version</permission>
<description>The user can version the object. It includes browse, read and relate permissions.</description>
</permissions>
<permissions>
<permission>cmis:write</permission>
<description>The user can write and update the object. It includes browse, read, relate and version permissions.</description>
</permissions>
<permissions>
<permission>delete</permission>
<description>The user can delete the object. It includes browse, read, relate, version and write permissions.</description>
</permissions>
<permissions>
<permission>change_location</permission>
<description>In conjunction with the appropriate base permission level, allows the user to move an object from one folder to another.</description>
</permissions>
<permissions>
<permission>change_owner</permission>
<description>The user can change the owner of the object.</description>
</permissions>
<permissions>
<permission>change_permit</permission>
<description>The user can change the basic permissions of the object.</description>
</permissions>
<permissions>
<permission>change_state</permission>
<description>The user can change the document lifecycle state of the object.</description>
</permissions>
<permissions>
<permission>change_folder_links</permission>
<description>Allows a user to link an object to a folder or unlink an object from a folder.</description>
</permissions>
<permissions>
<permission>delete_object</permission>
<description>The user can delete the object. The delete object extended permission is not equivalent to the base delete permission. Delete Object extended permission does not grant browse, read, relate, version, or write permission.</description>
</permissions>
<permissions>
<permission>execute_proc</permission>
<description>The user can run the external procedure associated with the object.</description>
</permissions>
<permissions>
<permission>cmis:all</permission>
<description>The user has all basic and extended permissions.</description>
</permissions>
<mapping>
<key>canGetDescendents.Folder</key>
<permission>browse</permission>
</mapping>
<mapping>
<key>canGetChildren.Folder</key>
<permission>browse</permission>
</mapping>
<mapping>
<key>canGetParents.Folder</key>
<permission>browse</permission>
</mapping>
<mapping>
<key>canGetFolderParent.Object</key>
<permission>browse</permission>
</mapping>
<mapping>
<key>canCreateDocument.Folder</key>
<permission>cmis:write</permission>
</mapping>
<mapping>
<key>canCreateFolder.Folder</key>
<permission>cmis:write</permission>
</mapping>
<mapping>
<key>canCreateRelationship.Source</key>
<permission>relate</permission>
</mapping>
<mapping>
<key>canCreateRelationship.Target</key>
<permission>relate</permission>
</mapping>
<mapping>
<key>canGetProperties.Object</key>
<permission>browse</permission>
</mapping>
<mapping>
<key>canViewContent.Object</key>
<permission>cmis:read</permission>
</mapping>
<mapping>
<key>canUpdateProperties.Object</key>
<permission>cmis:write</permission>
</mapping>
<mapping>
<key>canMove.Object</key>
<permission>cmis:write</permission>
<permission>change_location</permission>
</mapping>
<mapping>
<key>canMove.Target</key>
<permission>cmis:write</permission>
</mapping>
<mapping>
<key>canMove.Source</key>
<permission>cmis:write</permission>
</mapping>
<mapping>
<key>canDelete.Object</key>
<permission>delete</permission>
</mapping>
<mapping>
<key>canDeleteTree.Folder</key>
<permission>delete</permission>
</mapping>
<mapping>
<key>canSetContent.Document</key>
<permission>cmis:write</permission>
</mapping>
<mapping>
<key>canDeleteContent.Document</key>
<permission>cmis:write</permission>
</mapping>
<mapping>
<key>canAddToFolder.Object</key>
<permission>cmis:write</permission>
<permission>change_location</permission>
</mapping>
<mapping>
<key>canAddToFolder.Folder</key>
<permission>cmis:write</permission>
</mapping>
<mapping>
<key>canRemoveFromFolder.Object</key>
<permission>cmis:write</permission>
<permission>change_location</permission>
</mapping>
<mapping>
<key>canRemoveFromFolder.Folder</key>
<permission>cmis:write</permission>
</mapping>
<mapping>
<key>canCheckout.Document</key>
<permission>version</permission>
</mapping>
<mapping>
<key>canCancelCheckout.Document</key>
<permission>version</permission>
</mapping>
<mapping>
<key>canCheckin.Document</key>
<permission>version</permission>
</mapping>
<mapping>
<key>canGetAllVersions.VersionSeries</key>
<permission>cmis:read</permission>
</mapping>
<mapping>
<key>canGetObjectRelationships.Object</key>
<permission>browse</permission>
</mapping>
<mapping>
<key>canGetACL.Object</key>
<permission>browse</permission>
</mapping>
<mapping>
<key>canApplyACL.Object</key>
<permission>change_permit</permission>
</mapping>
</aclCapability>
<cmisVersionSupported>1.0</cmisVersionSupported>
</ns2:repositoryInfo>
</ns2:getRepositoryInfoResponse>
</S:Body>
</S:Envelope>
----------------------------------------------------------------------
This message, and any attachments, is for the intended recipient(s) only, may contain information that is privileged, confidential and/or proprietary and subject to important terms and conditions available at http://www.bankofamerica.com/emaildisclaimer. If you are not the intended recipient, please delete this message.
RE: Issue with WebLogic Client mustUnderstand=1
Posted by "Lester, Paul" <pa...@bankofamerica.com>.
Thanks, Florian. I am using OpenCMIS v 0.8.0. - I forgot to mention that piece of information. :)
Here is the complete stack trace.
---[HTTP request]---
Authorization: Basic ZWNhcF9jYXNocHJvX3dlYnNlcnZpY2VfdXNlcjpQYXNzd29yZDE=
SOAPAction: ""
X-CMIS-Client: Apache Chemistry OpenCMIS/0.8.0
Accept: text/xml, multipart/related, text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
Content-Type: multipart/related;start="<ro...@example.jaxws.sun.com>";type="application/xop+xml";boundary="uuid:367c8598-9905-4017-956f-1de587a13671";start-info="text/xml"
--uuid:367c8598-9905-4017-956f-1de587a13671
Content-Id: <ro...@example.jaxws.sun.com>
Content-Type: application/xop+xml;charset=utf-8;type="text/xml"
Content-Transfer-Encoding: binary
<?xml version='1.0' encoding='UTF-8'?><S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"><S:Header><Security xmlns="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"><Timestamp xmlns="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"><Created>2013-07-03T13:55:29Z</Created><Expires>2013-07-04T13:55:29Z</Expires></Timestamp><UsernameToken><Username>ecap_cashpro_webservice_user</Username><Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">Password1</Password><Created xmlns="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">2013-07-03T13:55:29Z</Created></UsernameToken></Security></S:Header><S:Body><ns2:getRepositoryInfo xmlns:ns2="http://docs.oasis-open.org/ns/cmis/messaging/200908/" xmlns="http://docs.oasis-open.org/ns/cmis/core/200908/"><ns2:repositoryId>ECMSFITDEV</ns2:repositoryId></ns2:getRepositoryInfo></S:Body></S:Envelope>
--uuid:367c8598-9905-4017-956f-1de587a13671----------------------
---[HTTP response 200]---
Transfer-encoding: chunked
null: HTTP/1.1 200 OK
Content-type: text/xml;charset=utf-8
Server: WebSphere Application Server/7.0
Content-language: en-US
Date: Wed, 03 Jul 2013 13:55:28 GMT
<?xml version="1.0" encoding="UTF-8"?><S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/" 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" xmlns:xs="http://www.w3.org/2001/XMLSchema"><S:Header><wsse:Security S:mustUnderstand="1"><wsu:Timestamp xmlns:ns15="http://schemas.xmlsoap.org/ws/2006/02/addressingidentity" xmlns:ns14="http://docs.oasis-open.org/ws-sx/ws-secureconversation/200512" xmlns:ns13="http://www.w3.org/2003/05/soap-envelope" wsu:Id="XWSSGID-1372296452640-685270172"><wsu:Created>2013-07-03T13:55:29Z</wsu:Created><wsu:Expires>2013-07-03T14:00:29Z</wsu:Expires></wsu:Timestamp></wsse:Security></S:Header><S:Body><ns2:getRepositoryInfoResponse xmlns:ns2="http://docs.oasis-open.org/ns/cmis/messaging/200908/" xmlns="http://docs.oasis-open.org/ns/cmis/core/200908/"><ns2:repositoryInfo><repositoryId>ECMSFITDEV</repositoryId><repositoryName>ECMSFITDEV</repositoryName><repositoryDescription>ECMSFITDEV</repositoryDescription><vendorName>EMC</vendorName><productName>Documentum</productName><productVersion>6.7.1000.0038</productVersion><rootFolderId>root</rootFolderId><capabilities><capabilityACL>manage</capabilityACL><capabilityAllVersionsSearchable>true</capabilityAllVersionsSearchable><capabilityChanges>none</capabilityChanges><capabilityContentStreamUpdatability>anytime</capabilityContentStreamUpdatability><capabilityGetDescendants>true</capabilityGetDescendants><capabilityGetFolderTree>true</capabilityGetFolderTree><capabilityMultifiling>true</capabilityMultifiling><capabilityPWCSearchable>false</capabilityPWCSearchable><capabilityPWCUpdatable>false</capabilityPWCUpdatable><capabilityQuery>bothcombined</capabilityQuery><capabilityRenditions>read</capabilityRenditions><capabilityUnfiling>false</capabilityUnfiling><capabilityVersionSpecificFiling>false</capabilityVersionSpecificFiling><capabilityJoin>inneronly</capabilityJoin></capabilities><aclCapability><supportedPermissions>both</supportedPermissions><propagation>repositorydetermined</propagation><permissions><permission>none</permission><description>No access is permitted.</description></permissions><permissions><permission>browse</permission><description>The user can look at property values but not at associated content.</description></permissions><permissions><permission>cmis:read</permission><description>The user can read content but not update. It includes browse permission.</description></permissions><permissions><permission>relate</permission><description>The user can attach an annotation to the object. It includes browse and read permissions.</description></permissions><permissions><permission>version</permission><description>The user can version the object. It includes browse, read and relate permissions.</description></permissions><permissions><permission>cmis:write</permission><description>The user can write and update the object. It includes browse, read, relate and version permissions.</description></permissions><permissions><permission>delete</permission><description>The user can delete the object. It includes browse, read, relate, version and write permissions.</description></permissions><permissions><permission>change_location</permission><description>In conjunction with the appropriate base permission level, allows the user to move an object from one folder to another.</description></permissions><permissions><permission>change_owner</permission><description>The user can change the owner of the object.</description></permissions><permissions><permission>change_permit</permission><description>The user can change the basic permissions of the object.</description></permissions><permissions><permission>change_state</permission><description>The user can change the document lifecycle state of the object.</description></permissions><permissions><permission>change_folder_links</permission><description>Allows a user to link an object to a folder or unlink an object from a folder.</description></permissions><permissions><permission>delete_object</permission><description>The user can delete the object. The delete object extended permission is not equivalent to the base delete permission. Delete Object extended permission does not grant browse, read, relate, version, or write permission.</description></permissions><permissions><permission>execute_proc</permission><description>The user can run the external procedure associated with the object.</description></permissions><permissions><permission>cmis:all</permission><description>The user has all basic and extended permissions.</description></permissions><mapping><key>canGetDescendents.Folder</key><permission>browse</permission></mapping><mapping><key>canGetChildren.Folder</key><permission>browse</permission></mapping><mapping><key>canGetParents.Folder</key><permission>browse</permission></mapping><mapping><key>canGetFolderParent.Object</key><permission>browse</permission></mapping><mapping><key>canCreateDocument.Folder</key><permission>cmis:write</permission></mapping><mapping><key>canCreateFolder.Folder</key><permission>cmis:write</permission></mapping><mapping><key>canCreateRelationship.Source</key><permission>relate</permission></mapping><mapping><key>canCreateRelationship.Target</key><permission>relate</permission></mapping><mapping><key>canGetProperties.Object</key><permission>browse</permission></mapping><mapping><key>canViewContent.Object</key><permission>cmis:read</permission></mapping><mapping><key>canUpdateProperties.Object</key><permission>cmis:write</permission></mapping><mapping><key>canMove.Object</key><permission>cmis:write</permission><permission>change_location</permission></mapping><mapping><key>canMove.Target</key><permission>cmis:write</permission></mapping><mapping><key>canMove.Source</key><permission>cmis:write</permission></mapping><mapping><key>canDelete.Object</key><permission>delete</permission></mapping><mapping><key>canDeleteTree.Folder</key><permission>delete</permission></mapping><mapping><key>canSetContent.Document</key><permission>cmis:write</permission></mapping><mapping><key>canDeleteContent.Document</key><permission>cmis:write</permission></mapping><mapping><key>canAddToFolder.Object</key><permission>cmis:write</permission><permission>change_location</permission></mapping><mapping><key>canAddToFolder.Folder</key><permission>cmis:write</permission></mapping><mapping><key>canRemoveFromFolder.Object</key><permission>cmis:write</permission><permission>change_location</permission></mapping><mapping><key>canRemoveFromFolder.Folder</key><permission>cmis:write</permission></mapping><mapping><key>canCheckout.Document</key><permission>version</permission></mapping><mapping><key>canCancelCheckout.Document</key><permission>version</permission></mapping><mapping><key>canCheckin.Document</key><permission>version</permission></mapping><mapping><key>canGetAllVersions.VersionSeries</key><permission>cmis:read</permission></mapping><mapping><key>canGetObjectRelationships.Object</key><permission>browse</permission></mapping><mapping><key>canGetACL.Object</key><permission>browse</permission></mapping><mapping><key>canApplyACL.Object</key><permission>change_permit</permission></mapping></aclCapability><cmisVersionSupported>1.0</cmisVersionSupported></ns2:repositoryInfo></ns2:getRepositoryInfoResponse></S:Body></S:Envelope>--------------------
2013-07-03 09:55:29,581 (ExceptionHandlingAspect.java:72) ERROR - com.bofa.gcib.ccp.common.exceptions.DataRetrievalFailureException: Error: MustUnderstand headers:[{http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd}Security] are not understood
at com.bofa.gcib.ccp.sor.credit.liq.invoice.dao.LoanIQInvoiceDAOImpl.getDocumentMetadata(LoanIQInvoiceDAOImpl.java:207)
at com.bofa.gcib.ccp.sor.credit.liq.invoice.dao.LoanIQInvoiceDAOImpl.getInvoiceList(LoanIQInvoiceDAOImpl.java:78)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:319)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:80)
at com.bofa.gcib.ccp.aspect.MethodTimingAspect.timing(MethodTimingAspect.java:36)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:621)
at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:610)
at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:65)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:80)
at com.bofa.gcib.ccp.aspect.ExceptionHandlingAspect.evaluateRuntimeExceptions(ExceptionHandlingAspect.java:47)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:621)
at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:610)
at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:65)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:90)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
at $Proxy263.getInvoiceList(Unknown Source)
at com.bofa.gcib.ccp.sor.credit.liq.invoice.business.LoanIQInvoiceBusnCtlImpl.getInvoiceList(LoanIQInvoiceBusnCtlImpl.java:32)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:319)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:80)
at com.bofa.gcib.ccp.aspect.MethodTimingAspect.timing(MethodTimingAspect.java:36)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:621)
at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:610)
at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:65)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:80)
at com.bofa.gcib.ccp.aspect.ExceptionHandlingAspect.evaluateRuntimeExceptions(ExceptionHandlingAspect.java:47)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:621)
at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:610)
at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:65)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:90)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
at $Proxy296.getInvoiceList(Unknown Source)
at com.bofa.gcib.ccp.invoice.business.CCPInvoiceBusnCtlImpl.getInvoiceList(CCPInvoiceBusnCtlImpl.java:123)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:319)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:80)
at com.bofa.gcib.ccp.aspect.MethodTimingAspect.timing(MethodTimingAspect.java:36)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:621)
at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:610)
at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:65)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:80)
at com.bofa.gcib.ccp.aspect.AuditLogSearchAspect.viewInvoiceList(AuditLogSearchAspect.java:82)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:621)
at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:610)
at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:65)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:80)
at com.bofa.gcib.ccp.aspect.ExceptionHandlingAspect.evaluateRuntimeExceptions(ExceptionHandlingAspect.java:47)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:621)
at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:610)
at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:65)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:90)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
at $Proxy299.getInvoiceList(Unknown Source)
at com.bofa.gcib.ccp.customer.ejb.ClientInvoiceEJB.getInvoiceList(ClientInvoiceEJB.java:47)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.bea.core.repackaged.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:310)
at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
at com.bea.core.repackaged.springframework.jee.intercept.MethodInvocationInvocationContext.proceed(MethodInvocationInvocationContext.java:104)
at com.bea.core.repackaged.springframework.jee.intercept.JeeInterceptorInterceptor.invoke(JeeInterceptorInterceptor.java:72)
at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at com.bea.core.repackaged.springframework.jee.spi.MethodInvocationVisitorImpl.visit(MethodInvocationVisitorImpl.java:37)
at weblogic.ejb.container.injection.EnvironmentInterceptorCallbackImpl.callback(EnvironmentInterceptorCallbackImpl.java:55)
at com.bea.core.repackaged.springframework.jee.spi.EnvironmentInterceptor.invoke(EnvironmentInterceptor.java:50)
at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at com.bea.core.repackaged.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)
at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at com.bea.core.repackaged.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
at $Proxy317.getInvoiceList(Unknown Source)
at com.bofa.gcib.ccp.customer.ejb.ClientInvoiceEJB_eh2mi_CCPInvoiceImpl.getInvoiceList(ClientInvoiceEJB_eh2mi_CCPInvoiceImpl.java:146)
at com.bofa.gcib.ccp.customer.ejb.ClientInvoiceEJB_eh2mi_CCPInvoiceImpl_WLSkel.invoke(Unknown Source)
at weblogic.rmi.internal.ServerRequest.sendReceive(ServerRequest.java:174)
at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:345)
at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:259)
at com.bofa.gcib.ccp.customer.ejb.ClientInvoiceEJB_eh2mi_CCPInvoiceImpl_1032_WLStub.getInvoiceList(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at weblogic.ejb.container.internal.RemoteBusinessIntfProxy.invoke(RemoteBusinessIntfProxy.java:73)
at $Proxy316.getInvoiceList(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:319)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:196)
at $Proxy118.getInvoiceList(Unknown Source)
at portlets.common.CommCreditController.getInvoiceList(CommCreditController.java:202)
at portlets.invoiceList.InvoiceListController.getInvoiceList(InvoiceListController.java:116)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.beehive.netui.pageflow.FlowController.invokeActionMethod(FlowController.java:870)
at org.apache.beehive.netui.pageflow.FlowController.getActionMethodForward(FlowController.java:809)
at org.apache.beehive.netui.pageflow.FlowController.internalExecute(FlowController.java:478)
at org.apache.beehive.netui.pageflow.PageFlowController.internalExecute(PageFlowController.java:306)
at org.apache.beehive.netui.pageflow.FlowController.execute(FlowController.java:336)
at org.apache.beehive.netui.pageflow.internal.FlowControllerAction.execute(FlowControllerAction.java:52)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.access$201(PageFlowRequestProcessor.java:97)
at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor$ActionRunner.execute(PageFlowRequestProcessor.java:2044)
at org.apache.beehive.netui.pageflow.interceptor.action.internal.ActionInterceptors$WrapActionInterceptorChain.continueChain(ActionInterceptors.java:64)
at org.apache.beehive.netui.pageflow.interceptor.action.ActionInterceptor.wrapAction(ActionInterceptor.java:184)
at org.apache.beehive.netui.pageflow.interceptor.action.internal.ActionInterceptors$WrapActionInterceptorChain.invoke(ActionInterceptors.java:50)
at org.apache.beehive.netui.pageflow.interceptor.action.internal.ActionInterceptors$WrapActionInterceptorChain.continueChain(ActionInterceptors.java:58)
at org.apache.beehive.netui.pageflow.interceptor.action.internal.ActionInterceptors.wrapAction(ActionInterceptors.java:87)
at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.processActionPerform(PageFlowRequestProcessor.java:2116)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.processInternal(PageFlowRequestProcessor.java:556)
at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.process(PageFlowRequestProcessor.java:853)
at org.apache.beehive.netui.pageflow.AutoRegisterActionServlet.process(AutoRegisterActionServlet.java:631)
at org.apache.beehive.netui.pageflow.PageFlowActionServlet.process(PageFlowActionServlet.java:158)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
at org.apache.beehive.netui.pageflow.PageFlowUtils.strutsLookup(PageFlowUtils.java:1199)
at org.apache.beehive.netui.pageflow.PageFlowUtils.strutsLookup(PageFlowUtils.java:1230)
at org.apache.beehive.netui.pageflow.PageFlowUtils.strutsLookup(PageFlowUtils.java:1129)
at com.bea.portlet.adapter.scopedcontent.framework.internal.PageFlowUtilsBeehiveDelegate.strutsLookupInternal(PageFlowUtilsBeehiveDelegate.java:43)
at com.bea.portlet.adapter.scopedcontent.framework.PageFlowUtils.strutsLookup(PageFlowUtils.java:108)
at com.bea.portlet.adapter.scopedcontent.ScopedContentCommonSupport.executeAction(ScopedContentCommonSupport.java:707)
at com.bea.portlet.adapter.scopedcontent.ScopedContentCommonSupport.processActionInternal(ScopedContentCommonSupport.java:141)
at com.bea.portlet.adapter.scopedcontent.PageFlowStubImpl.processAction(PageFlowStubImpl.java:108)
at com.bea.portlet.adapter.NetuiActionHandler.raiseScopedAction(NetuiActionHandler.java:111)
at com.bea.netuix.servlets.controls.content.NetuiContent.raiseScopedAction(NetuiContent.java:181)
at com.bea.netuix.servlets.controls.portlet.events.FirePageFlowActionDecorator.handleEvent(FirePageFlowActionDecorator.java:100)
at com.bea.netuix.events.manager.EventManager.distributeEvent(EventManager.java:356)
at com.bea.netuix.events.manager.EventManager.doFireEvents(EventManager.java:314)
at com.bea.netuix.events.manager.EventManager.fireEvents(EventManager.java:242)
at com.bea.netuix.nf.ControlLifecycle$4.postVisitRoot(ControlLifecycle.java:324)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:341)
at com.bea.netuix.nf.ControlTreeWalker.walk(ControlTreeWalker.java:130)
at com.bea.netuix.nf.Lifecycle.processLifecycles(Lifecycle.java:399)
at com.bea.netuix.nf.Lifecycle.processLifecycles(Lifecycle.java:361)
at com.bea.netuix.nf.Lifecycle.processLifecycles(Lifecycle.java:352)
at com.bea.netuix.nf.Lifecycle.runInbound(Lifecycle.java:184)
at com.bea.netuix.nf.Lifecycle.run(Lifecycle.java:159)
at com.bea.netuix.servlets.manager.UIServlet.runLifecycle(UIServlet.java:465)
at com.bea.netuix.servlets.manager.UIServlet.doPost(UIServlet.java:291)
at com.bea.netuix.servlets.manager.UIServlet.service(UIServlet.java:219)
at com.bea.netuix.servlets.manager.SingleFileServlet.service(SingleFileServlet.java:275)
at com.bea.netuix.servlets.manager.PortalServlet.service(PortalServlet.java:719)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
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:292)
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at com.bea.p13n.servlets.PortalServletFilter.doFilter(PortalServletFilter.java:336)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at com.bea.content.manager.servlets.ContentServletFilter.doFilter(ContentServletFilter.java:178)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at com.bofa.gcib.ccp.customer.security.filter.BrowserSecurityFilter.doFilter(BrowserSecurityFilter.java:54)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3592)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2202)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2108)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1432)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
-----Original Message-----
From: Florian Müller [mailto:fmui@apache.org]
Sent: Friday, July 05, 2013 2:37 PM
To: dev@chemistry.apache.org
Cc: Lester, Paul
Subject: Re: Issue with WebLogic Client mustUnderstand=1
Hi Paul,
You've found the right list.
Could you please tell us, which OpenCMIS version you are using? Can you provide a stack trace?
The WebLogic SOAP stack seems to jump in before the response reaches OpenCMIS. That could be a configuration issue.
- Florian
> My apologies if this is going to the wrong list. I couldn't find a users list.
>
> I am new to OpenCMIS. I have run a number of tests inside of JUnit and all have contacted the server, returned a proper response in the form of meta data or a document; however, when I move this same code, unchanged, into WebLogic 10.3, I get an exception:
>
> javax.xml.ws.soap.SOAPFaultException: MustUnderstand
> headers:[{http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wsse
> curity-secext-1.0.xsd}Security] are not understood
>
> The failure happens during the call to the SessionFactory createSession method.
>
> I've read quite a bit about this on various forums, but have yet to find a solution. It appears, if I understand things correctly, that the server is replying with a mustUnderstand="1", as referenced by the response, but that my client is unable to process the header and, per security rules, must fail.
>
> What do I need to do to make this work properly inside of WebLogic? Am I missing a configuration file somewhere?
>
> Thank you!
>
> Paul
>
>
> SOAP request
> <?xml version="1.0" encoding="UTF-8"?> <S:Envelope
> xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
> <S:Header>
> <Security xmlns="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
> <Timestamp xmlns="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
> <Created>2013-07-03T13:55:29Z</Created>
> <Expires>2013-07-04T13:55:29Z</Expires>
> </Timestamp>
> <UsernameToken>
> <Username>some_user</Username>
> <Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">somepassword</Password>
> <Created xmlns="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">2013-07-03T13:55:29Z</Created>
> </UsernameToken>
> </Security>
> </S:Header>
> <S:Body>
> <ns2:getRepositoryInfo xmlns:ns2="http://docs.oasis-open.org/ns/cmis/messaging/200908/" xmlns="http://docs.oasis-open.org/ns/cmis/core/200908/">
> <ns2:repositoryId>ECMSFITDEV</ns2:repositoryId>
> </ns2:getRepositoryInfo>
> </S:Body>
> </S:Envelope>
>
> SOAP response
>
> <?xml version="1.0" encoding="UTF-8"?> <S:Envelope
> xmlns:S="http://schemas.xmlsoap.org/soap/envelope/" 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" xmlns:xs="http://www.w3.org/2001/XMLSchema">
> <S:Header>
> <wsse:Security S:mustUnderstand="1">
> <wsu:Timestamp xmlns:ns15="http://schemas.xmlsoap.org/ws/2006/02/addressingidentity" xmlns:ns14="http://docs.oasis-open.org/ws-sx/ws-secureconversation/200512" xmlns:ns13="http://www.w3.org/2003/05/soap-envelope" wsu:Id="XWSSGID-1372296452640-685270172">
> <wsu:Created>2013-07-03T13:55:29Z</wsu:Created>
> <wsu:Expires>2013-07-03T14:00:29Z</wsu:Expires>
> </wsu:Timestamp>
> </wsse:Security>
> </S:Header>
> <S:Body>
> <ns2:getRepositoryInfoResponse xmlns:ns2="http://docs.oasis-open.org/ns/cmis/messaging/200908/" xmlns="http://docs.oasis-open.org/ns/cmis/core/200908/">
> <ns2:repositoryInfo>
> <repositoryId>ECMSFITDEV</repositoryId>
> <repositoryName>ECMSFITDEV</repositoryName>
> <repositoryDescription>ECMSFITDEV</repositoryDescription>
> <vendorName>EMC</vendorName>
> <productName>Documentum</productName>
> <productVersion>6.7.1000.0038</productVersion>
> <rootFolderId>root</rootFolderId>
> <capabilities>
> <capabilityACL>manage</capabilityACL>
> <capabilityAllVersionsSearchable>true</capabilityAllVersionsSearchable>
> <capabilityChanges>none</capabilityChanges>
> <capabilityContentStreamUpdatability>anytime</capabilityContentStreamUpdatability>
> <capabilityGetDescendants>true</capabilityGetDescendants>
> <capabilityGetFolderTree>true</capabilityGetFolderTree>
> <capabilityMultifiling>true</capabilityMultifiling>
> <capabilityPWCSearchable>false</capabilityPWCSearchable>
> <capabilityPWCUpdatable>false</capabilityPWCUpdatable>
> <capabilityQuery>bothcombined</capabilityQuery>
> <capabilityRenditions>read</capabilityRenditions>
> <capabilityUnfiling>false</capabilityUnfiling>
> <capabilityVersionSpecificFiling>false</capabilityVersionSpecificFiling>
> <capabilityJoin>inneronly</capabilityJoin>
> </capabilities>
> <aclCapability>
> <supportedPermissions>both</supportedPermissions>
> <propagation>repositorydetermined</propagation>
> <permissions>
> <permission>none</permission>
> <description>No access is permitted.</description>
> </permissions>
> <permissions>
> <permission>browse</permission>
> <description>The user can look at property values but not at associated content.</description>
> </permissions>
> <permissions>
> <permission>cmis:read</permission>
> <description>The user can read content but not update. It includes browse permission.</description>
> </permissions>
> <permissions>
> <permission>relate</permission>
> <description>The user can attach an annotation to the object. It includes browse and read permissions.</description>
> </permissions>
> <permissions>
> <permission>version</permission>
> <description>The user can version the object. It includes browse, read and relate permissions.</description>
> </permissions>
> <permissions>
> <permission>cmis:write</permission>
> <description>The user can write and update the object. It includes browse, read, relate and version permissions.</description>
> </permissions>
> <permissions>
> <permission>delete</permission>
> <description>The user can delete the object. It includes browse, read, relate, version and write permissions.</description>
> </permissions>
> <permissions>
> <permission>change_location</permission>
> <description>In conjunction with the appropriate base permission level, allows the user to move an object from one folder to another.</description>
> </permissions>
> <permissions>
> <permission>change_owner</permission>
> <description>The user can change the owner of the object.</description>
> </permissions>
> <permissions>
> <permission>change_permit</permission>
> <description>The user can change the basic permissions of the object.</description>
> </permissions>
> <permissions>
> <permission>change_state</permission>
> <description>The user can change the document lifecycle state of the object.</description>
> </permissions>
> <permissions>
> <permission>change_folder_links</permission>
> <description>Allows a user to link an object to a folder or unlink an object from a folder.</description>
> </permissions>
> <permissions>
> <permission>delete_object</permission>
> <description>The user can delete the object. The delete object extended permission is not equivalent to the base delete permission. Delete Object extended permission does not grant browse, read, relate, version, or write permission.</description>
> </permissions>
> <permissions>
> <permission>execute_proc</permission>
> <description>The user can run the external procedure associated with the object.</description>
> </permissions>
> <permissions>
> <permission>cmis:all</permission>
> <description>The user has all basic and extended permissions.</description>
> </permissions>
> <mapping>
> <key>canGetDescendents.Folder</key>
> <permission>browse</permission>
> </mapping>
> <mapping>
> <key>canGetChildren.Folder</key>
> <permission>browse</permission>
> </mapping>
> <mapping>
> <key>canGetParents.Folder</key>
> <permission>browse</permission>
> </mapping>
> <mapping>
> <key>canGetFolderParent.Object</key>
> <permission>browse</permission>
> </mapping>
> <mapping>
> <key>canCreateDocument.Folder</key>
> <permission>cmis:write</permission>
> </mapping>
> <mapping>
> <key>canCreateFolder.Folder</key>
> <permission>cmis:write</permission>
> </mapping>
> <mapping>
> <key>canCreateRelationship.Source</key>
> <permission>relate</permission>
> </mapping>
> <mapping>
> <key>canCreateRelationship.Target</key>
> <permission>relate</permission>
> </mapping>
> <mapping>
> <key>canGetProperties.Object</key>
> <permission>browse</permission>
> </mapping>
> <mapping>
> <key>canViewContent.Object</key>
> <permission>cmis:read</permission>
> </mapping>
> <mapping>
> <key>canUpdateProperties.Object</key>
> <permission>cmis:write</permission>
> </mapping>
> <mapping>
> <key>canMove.Object</key>
> <permission>cmis:write</permission>
> <permission>change_location</permission>
> </mapping>
> <mapping>
> <key>canMove.Target</key>
> <permission>cmis:write</permission>
> </mapping>
> <mapping>
> <key>canMove.Source</key>
> <permission>cmis:write</permission>
> </mapping>
> <mapping>
> <key>canDelete.Object</key>
> <permission>delete</permission>
> </mapping>
> <mapping>
> <key>canDeleteTree.Folder</key>
> <permission>delete</permission>
> </mapping>
> <mapping>
> <key>canSetContent.Document</key>
> <permission>cmis:write</permission>
> </mapping>
> <mapping>
> <key>canDeleteContent.Document</key>
> <permission>cmis:write</permission>
> </mapping>
> <mapping>
> <key>canAddToFolder.Object</key>
> <permission>cmis:write</permission>
> <permission>change_location</permission>
> </mapping>
> <mapping>
> <key>canAddToFolder.Folder</key>
> <permission>cmis:write</permission>
> </mapping>
> <mapping>
> <key>canRemoveFromFolder.Object</key>
> <permission>cmis:write</permission>
> <permission>change_location</permission>
> </mapping>
> <mapping>
> <key>canRemoveFromFolder.Folder</key>
> <permission>cmis:write</permission>
> </mapping>
> <mapping>
> <key>canCheckout.Document</key>
> <permission>version</permission>
> </mapping>
> <mapping>
> <key>canCancelCheckout.Document</key>
> <permission>version</permission>
> </mapping>
> <mapping>
> <key>canCheckin.Document</key>
> <permission>version</permission>
> </mapping>
> <mapping>
> <key>canGetAllVersions.VersionSeries</key>
> <permission>cmis:read</permission>
> </mapping>
> <mapping>
> <key>canGetObjectRelationships.Object</key>
> <permission>browse</permission>
> </mapping>
> <mapping>
> <key>canGetACL.Object</key>
> <permission>browse</permission>
> </mapping>
> <mapping>
> <key>canApplyACL.Object</key>
> <permission>change_permit</permission>
> </mapping>
> </aclCapability>
> <cmisVersionSupported>1.0</cmisVersionSupported>
> </ns2:repositoryInfo>
> </ns2:getRepositoryInfoResponse>
> </S:Body>
> </S:Envelope>
>
> ----------------------------------------------------------------------
> This message, and any attachments, is for the intended recipient(s) only, may contain information that is privileged, confidential and/or proprietary and subject to important terms and conditions available at http://www.bankofamerica.com/emaildisclaimer. If you are not the intended recipient, please delete this message.
>
----------------------------------------------------------------------
This message, and any attachments, is for the intended recipient(s) only, may contain information that is privileged, confidential and/or proprietary and subject to important terms and conditions available at http://www.bankofamerica.com/emaildisclaimer. If you are not the intended recipient, please delete this message.
Re: Issue with WebLogic Client mustUnderstand=1
Posted by Florian Müller <fm...@apache.org>.
Hi Paul,
You've found the right list.
Could you please tell us, which OpenCMIS version you are using? Can you
provide a stack trace?
The WebLogic SOAP stack seems to jump in before the response reaches
OpenCMIS. That could be a configuration issue.
- Florian
> My apologies if this is going to the wrong list. I couldn't find a users list.
>
> I am new to OpenCMIS. I have run a number of tests inside of JUnit and all have contacted the server, returned a proper response in the form of meta data or a document; however, when I move this same code, unchanged, into WebLogic 10.3, I get an exception:
>
> javax.xml.ws.soap.SOAPFaultException: MustUnderstand headers:[{http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd}Security] are not understood
>
> The failure happens during the call to the SessionFactory createSession method.
>
> I've read quite a bit about this on various forums, but have yet to find a solution. It appears, if I understand things correctly, that the server is replying with a mustUnderstand="1", as referenced by the response, but that my client is unable to process the header and, per security rules, must fail.
>
> What do I need to do to make this work properly inside of WebLogic? Am I missing a configuration file somewhere?
>
> Thank you!
>
> Paul
>
>
> SOAP request
> <?xml version="1.0" encoding="UTF-8"?>
> <S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
> <S:Header>
> <Security xmlns="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
> <Timestamp xmlns="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
> <Created>2013-07-03T13:55:29Z</Created>
> <Expires>2013-07-04T13:55:29Z</Expires>
> </Timestamp>
> <UsernameToken>
> <Username>some_user</Username>
> <Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">somepassword</Password>
> <Created xmlns="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">2013-07-03T13:55:29Z</Created>
> </UsernameToken>
> </Security>
> </S:Header>
> <S:Body>
> <ns2:getRepositoryInfo xmlns:ns2="http://docs.oasis-open.org/ns/cmis/messaging/200908/" xmlns="http://docs.oasis-open.org/ns/cmis/core/200908/">
> <ns2:repositoryId>ECMSFITDEV</ns2:repositoryId>
> </ns2:getRepositoryInfo>
> </S:Body>
> </S:Envelope>
>
> SOAP response
>
> <?xml version="1.0" encoding="UTF-8"?>
> <S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/" 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" xmlns:xs="http://www.w3.org/2001/XMLSchema">
> <S:Header>
> <wsse:Security S:mustUnderstand="1">
> <wsu:Timestamp xmlns:ns15="http://schemas.xmlsoap.org/ws/2006/02/addressingidentity" xmlns:ns14="http://docs.oasis-open.org/ws-sx/ws-secureconversation/200512" xmlns:ns13="http://www.w3.org/2003/05/soap-envelope" wsu:Id="XWSSGID-1372296452640-685270172">
> <wsu:Created>2013-07-03T13:55:29Z</wsu:Created>
> <wsu:Expires>2013-07-03T14:00:29Z</wsu:Expires>
> </wsu:Timestamp>
> </wsse:Security>
> </S:Header>
> <S:Body>
> <ns2:getRepositoryInfoResponse xmlns:ns2="http://docs.oasis-open.org/ns/cmis/messaging/200908/" xmlns="http://docs.oasis-open.org/ns/cmis/core/200908/">
> <ns2:repositoryInfo>
> <repositoryId>ECMSFITDEV</repositoryId>
> <repositoryName>ECMSFITDEV</repositoryName>
> <repositoryDescription>ECMSFITDEV</repositoryDescription>
> <vendorName>EMC</vendorName>
> <productName>Documentum</productName>
> <productVersion>6.7.1000.0038</productVersion>
> <rootFolderId>root</rootFolderId>
> <capabilities>
> <capabilityACL>manage</capabilityACL>
> <capabilityAllVersionsSearchable>true</capabilityAllVersionsSearchable>
> <capabilityChanges>none</capabilityChanges>
> <capabilityContentStreamUpdatability>anytime</capabilityContentStreamUpdatability>
> <capabilityGetDescendants>true</capabilityGetDescendants>
> <capabilityGetFolderTree>true</capabilityGetFolderTree>
> <capabilityMultifiling>true</capabilityMultifiling>
> <capabilityPWCSearchable>false</capabilityPWCSearchable>
> <capabilityPWCUpdatable>false</capabilityPWCUpdatable>
> <capabilityQuery>bothcombined</capabilityQuery>
> <capabilityRenditions>read</capabilityRenditions>
> <capabilityUnfiling>false</capabilityUnfiling>
> <capabilityVersionSpecificFiling>false</capabilityVersionSpecificFiling>
> <capabilityJoin>inneronly</capabilityJoin>
> </capabilities>
> <aclCapability>
> <supportedPermissions>both</supportedPermissions>
> <propagation>repositorydetermined</propagation>
> <permissions>
> <permission>none</permission>
> <description>No access is permitted.</description>
> </permissions>
> <permissions>
> <permission>browse</permission>
> <description>The user can look at property values but not at associated content.</description>
> </permissions>
> <permissions>
> <permission>cmis:read</permission>
> <description>The user can read content but not update. It includes browse permission.</description>
> </permissions>
> <permissions>
> <permission>relate</permission>
> <description>The user can attach an annotation to the object. It includes browse and read permissions.</description>
> </permissions>
> <permissions>
> <permission>version</permission>
> <description>The user can version the object. It includes browse, read and relate permissions.</description>
> </permissions>
> <permissions>
> <permission>cmis:write</permission>
> <description>The user can write and update the object. It includes browse, read, relate and version permissions.</description>
> </permissions>
> <permissions>
> <permission>delete</permission>
> <description>The user can delete the object. It includes browse, read, relate, version and write permissions.</description>
> </permissions>
> <permissions>
> <permission>change_location</permission>
> <description>In conjunction with the appropriate base permission level, allows the user to move an object from one folder to another.</description>
> </permissions>
> <permissions>
> <permission>change_owner</permission>
> <description>The user can change the owner of the object.</description>
> </permissions>
> <permissions>
> <permission>change_permit</permission>
> <description>The user can change the basic permissions of the object.</description>
> </permissions>
> <permissions>
> <permission>change_state</permission>
> <description>The user can change the document lifecycle state of the object.</description>
> </permissions>
> <permissions>
> <permission>change_folder_links</permission>
> <description>Allows a user to link an object to a folder or unlink an object from a folder.</description>
> </permissions>
> <permissions>
> <permission>delete_object</permission>
> <description>The user can delete the object. The delete object extended permission is not equivalent to the base delete permission. Delete Object extended permission does not grant browse, read, relate, version, or write permission.</description>
> </permissions>
> <permissions>
> <permission>execute_proc</permission>
> <description>The user can run the external procedure associated with the object.</description>
> </permissions>
> <permissions>
> <permission>cmis:all</permission>
> <description>The user has all basic and extended permissions.</description>
> </permissions>
> <mapping>
> <key>canGetDescendents.Folder</key>
> <permission>browse</permission>
> </mapping>
> <mapping>
> <key>canGetChildren.Folder</key>
> <permission>browse</permission>
> </mapping>
> <mapping>
> <key>canGetParents.Folder</key>
> <permission>browse</permission>
> </mapping>
> <mapping>
> <key>canGetFolderParent.Object</key>
> <permission>browse</permission>
> </mapping>
> <mapping>
> <key>canCreateDocument.Folder</key>
> <permission>cmis:write</permission>
> </mapping>
> <mapping>
> <key>canCreateFolder.Folder</key>
> <permission>cmis:write</permission>
> </mapping>
> <mapping>
> <key>canCreateRelationship.Source</key>
> <permission>relate</permission>
> </mapping>
> <mapping>
> <key>canCreateRelationship.Target</key>
> <permission>relate</permission>
> </mapping>
> <mapping>
> <key>canGetProperties.Object</key>
> <permission>browse</permission>
> </mapping>
> <mapping>
> <key>canViewContent.Object</key>
> <permission>cmis:read</permission>
> </mapping>
> <mapping>
> <key>canUpdateProperties.Object</key>
> <permission>cmis:write</permission>
> </mapping>
> <mapping>
> <key>canMove.Object</key>
> <permission>cmis:write</permission>
> <permission>change_location</permission>
> </mapping>
> <mapping>
> <key>canMove.Target</key>
> <permission>cmis:write</permission>
> </mapping>
> <mapping>
> <key>canMove.Source</key>
> <permission>cmis:write</permission>
> </mapping>
> <mapping>
> <key>canDelete.Object</key>
> <permission>delete</permission>
> </mapping>
> <mapping>
> <key>canDeleteTree.Folder</key>
> <permission>delete</permission>
> </mapping>
> <mapping>
> <key>canSetContent.Document</key>
> <permission>cmis:write</permission>
> </mapping>
> <mapping>
> <key>canDeleteContent.Document</key>
> <permission>cmis:write</permission>
> </mapping>
> <mapping>
> <key>canAddToFolder.Object</key>
> <permission>cmis:write</permission>
> <permission>change_location</permission>
> </mapping>
> <mapping>
> <key>canAddToFolder.Folder</key>
> <permission>cmis:write</permission>
> </mapping>
> <mapping>
> <key>canRemoveFromFolder.Object</key>
> <permission>cmis:write</permission>
> <permission>change_location</permission>
> </mapping>
> <mapping>
> <key>canRemoveFromFolder.Folder</key>
> <permission>cmis:write</permission>
> </mapping>
> <mapping>
> <key>canCheckout.Document</key>
> <permission>version</permission>
> </mapping>
> <mapping>
> <key>canCancelCheckout.Document</key>
> <permission>version</permission>
> </mapping>
> <mapping>
> <key>canCheckin.Document</key>
> <permission>version</permission>
> </mapping>
> <mapping>
> <key>canGetAllVersions.VersionSeries</key>
> <permission>cmis:read</permission>
> </mapping>
> <mapping>
> <key>canGetObjectRelationships.Object</key>
> <permission>browse</permission>
> </mapping>
> <mapping>
> <key>canGetACL.Object</key>
> <permission>browse</permission>
> </mapping>
> <mapping>
> <key>canApplyACL.Object</key>
> <permission>change_permit</permission>
> </mapping>
> </aclCapability>
> <cmisVersionSupported>1.0</cmisVersionSupported>
> </ns2:repositoryInfo>
> </ns2:getRepositoryInfoResponse>
> </S:Body>
> </S:Envelope>
>
> ----------------------------------------------------------------------
> This message, and any attachments, is for the intended recipient(s) only, may contain information that is privileged, confidential and/or proprietary and subject to important terms and conditions available at http://www.bankofamerica.com/emaildisclaimer. If you are not the intended recipient, please delete this message.
>