We have deployed an Enterprise Library system for the scenario SAP NetWeaver ILM WebDAV Storage Interface.
When trying to upload a new file to Enterprise Library using WebDAV PUTmethod we get the following error:
DAV Response: 400 Bad Request (PUT /ot-webdav/ilm/ILMAppDEV/ecd/100/ad/zrh_lopd5/20130924/000245/000245-001zrh_lopd5.adk) Cause: Bad Request com.opentext.ecm.services.entlib.ELServiceException: Illegal content length value!
The Debug trace for the operation is:
2013-09-24 22:21:31,216 DEBUG [http-8080-14] otx.WebDAV : com.opentext.ecm.services.webdav.ViewEngine - [2619D129] - DAV Service: PUT /ot-webdav/ilm/ILMAppDEV/ecd/100/ad/zrh_lopd5/20130924/000245/000245-001zrh_lopd5.adk
PathInfo: /ilm/ILMAppDEV/ecd/100/ad/zrh_lopd5/20130924/000245/000245-001zrh_lopd5.adk
host: sapotq1.once.intranet.local:8080
authorization: Basic SUxNRUNEVXNlcjppYmVybWF0aWNhMQ==
user-agent: SAP XML DAS
transfer-encoding: chunked
cookie: $Version=1;JSESSIONID=41D9E966B63AB087EEC4B9B1518EC9E8;$Path=/;$Domain=.once.intranet.local,$Version=1;rcs.cookie.lname=ILMECDUser;$Path=/;$Domain=.once.intranet.local,$Version=1;rcs.cookie.sso.id=50036_-_-383ef848_-_14150a327ff_-_-7ff1_-_2179079653681159351;$Path=/;$Domain=.once.intranet.local
content-type: application/octet-stream
2013-09-24 22:21:31,216 DEBUG [http-8080-14] otx.WebDAV : com.opentext.ecm.services.webdav.ViewEngine - [2619D129] - checking filter mappings...
....
2013-09-24 22:21:31,228 TRACE [http-8080-14] otx.ILM : com.opentext.ecm.services.ilm.viewengine.stores.FolderChildStore - createChild: enter: urlname='000245-001zrh_lopd5.adk', isCollection=false, props='{}', mimeType='application/octet-stream', data=org.apache.catalina.connector.CoyoteInputStream@511fc987
2013-09-24 22:21:31,228 DEBUG [http-8080-14] otx.ILM : com.opentext.ecm.services.ilm.viewengine.stores.FolderChildStore - createChild: Document '000245-001zrh_lopd5.adk' (length=-1, application/octet-stream) is to be created in this folder '000245' (elpartition/F31041).
2013-09-24 22:21:31,228 TRACE [http-8080-14] otx.ILM : com.opentext.ecm.services.ilm.viewengine.elib.Elib - createItem: enter: name='000245-001zrh_lopd5.adk', parentId='elpartition/F31041', contentLength=-1, mimeType='application/octet-stream', stream='org.apache.catalina.connector.CoyoteInputStream@511fc987'
...
2013-09-24 22:21:31,649 DEBUG [http-8080-14] otx.ILM : com.opentext.ecm.services.ilm.viewengine.elib.Elib - translateElServiceEx: Handle exception of category 'Data', using HTTP error code 400
com.opentext.ecm.services.entlib.ELServiceException: Illegal content length value!<Tue Sep 24 22:21:31 CEST 2013|sapotq1;node001> [{error_namespace=ELService, Value=-1, BlobName=000245-001zrh_lopd5.adk, error_code=IllegalContentLength, error_category=Data}]
at com.opentext.ecm.services.entlib.impl.ELService.writeComponents(ELService.java:15911)
at com.opentext.ecm.services.entlib.impl.ELServicePluginDecorator.writeComponents(ELServicePluginDecorator.java:1638)
...
at java.lang.Thread.run(Unknown Source)
2013-09-24 22:21:31,650 TRACE [http-8080-14] otx.ILM : com.opentext.ecm.services.ilm.viewengine.elib.Elib - translateElServiceEx: leave: 400: com.opentext.webdav.viewspi.DavStatusException: HTTP Error 400 com.opentext.ecm.services.entlib.ELServiceException: Illegal content length value!<Tue Sep 24 22:21:31 CEST 2013|sapotq1;node001> [{error_namespace=ELService, Value=-1, BlobName=000245-001zrh_lopd5.adk, error_code=IllegalContentLength, error_category=Data}]
2013-09-24 22:21:31,651 DEBUG [http-8080-14] otx.WebDAV : com.opentext.ecm.services.webdav.ViewEngine - [2619D129] - ERROR: Failed to process a WebDAV request com.opentext.weblink.appbase.StatusException: HTTP Error 400 com.opentext.ecm.services.entlib.ELServiceException: Illegal content length value!<Tue Sep 24 22:21:31 CEST 2013|sapotq1;node001> [{error_namespace=ELService, Value=-1, BlobName=000245-001zrh_lopd5.adk, error_code=IllegalContentLength, error_category=Data}]
at com.opentext.ecm.services.ilm.viewengine.elib.Elib.translateElServiceEx(Elib.java:2403)
...
at java.lang.Thread.run(Unknown Source)
Caused by: com.opentext.ecm.services.entlib.ELServiceException: Illegal content length value!<Tue Sep 24 22:21:31 CEST 2013|sapotq1;node001> [{error_namespace=ELService, Value=-1, BlobName=000245-001zrh_lopd5.adk, error_code=IllegalContentLength, error_category=Data}]
at com.opentext.ecm.services.entlib.impl.ELService.writeComponents(ELService.java:15911)
at com.opentext.ecm.services.entlib.impl.ELServicePluginDecorator.writeComponents(ELServicePluginDecorator.java:1638)
at com.opentext.ecm.services.entlib.impl.ELService.writeComponents(ELService.java:15835)
at com.opentext.ecm.services.entlib.impl.ELService.createItemImpl(ELService.java:3571)
at com.opentext.ecm.services.entlib.impl.ELService.createItem(ELService.java:3402)
at com.opentext.ecm.services.ilm.viewengine.elib.Elib.createItem(Elib.java:861)
... 30 more
2013-09-24 22:21:31,651 DEBUG [http-8080-14] otx.WebDAV : com.opentext.ecm.services.webdav.ViewEngine - [2619D129] - Rolling back connection: com.opentext.webdav.views.TransactionConnection@40234594
2013-09-24 22:21:31,651 DEBUG [http-8080-14] otx.WebDAV : com.opentext.ecm.services.webdav.ViewEngine - [2619D129] - Connection rolled back
2013-09-24 22:21:31,651 DEBUG [http-8080-14] otx.WebDAV : com.opentext.ecm.services.webdav.ViewEngine - [2619D129] - Closing connection: com.opentext.webdav.views.TransactionConnection@40234594
2013-09-24 22:21:31,651 DEBUG [http-8080-14] otx.WebDAV : com.opentext.ecm.services.webdav.ViewEngine - [2619D129] - Connection closed
2013-09-24 22:21:31,652 DEBUG [http-8080-14] otx.WebDAV : com.opentext.ecm.services.webdav.ViewEngine - [2619D129] - DAV Response: 400 Bad Request (PUT /ot-webdav/ilm/ILMAppDEV/ecd/100/ad/zrh_lopd5/20130924/000245/000245-001zrh_lopd5.adk)
2013-09-24 22:21:31,652 DEBUG [http-8080-14] otx.WebDAV : com.opentext.ecm.services.webdav.ViewEngine - [2619D129] - Cause: Bad Request com.opentext.ecm.services.entlib.ELServiceException: Illegal content length value!<Tue Sep 24 22:21:31 CEST 2013|sapotq1;node001> [{error_namespace=ELService, Value=-1, BlobName=000245-001zrh_lopd5.adk, error_code=IllegalContentLength, error_category=Data}]
at com.opentext.ecm.services.entlib.impl.ELService.writeComponents(ELService.java:15911)
...
at java.lang.Thread.run(Unknown Source)
The rest of the WebDAV methods like MKCOL, PROPFIND, PROPPATCH, HEAD and OPTIONS work fine, for example:
2013-09-24 22:21:23,172 DEBUG [http-8080-14] otx.WebDAV : com.opentext.ecm.services.webdav.ViewEngine - [2619D129] - DAV Service: MKCOL /ot-webdav/ilm/ILMAppDEV/ecd/100/ad/zrh_lopd5/20130924/000245
PathInfo: /ilm/ILMAppDEV/ecd/100/ad/zrh_lopd5/20130924/000245
host: sapotq1.once.intranet.local:8080
authorization: Basic SUxNRUNEVXNlcjppYmVybWF0aWNhMQ==
content-length: 0
user-agent: SAP XML DAS
cookie: $Version=1;JSESSIONID=41D9E966B63AB087EEC4B9B1518EC9E8;$Path=/;$Domain=.once.intranet.local,$Version=1;rcs.cookie.lname=ILMECDUser;$Path=/;$Domain=.once.intranet.local,$Version=1;rcs.cookie.sso.id=50036_-_-383ef848_-_14150a327ff_-_-7ff1_-_2179079653681159351;$Path=/;$Domain=.once.intranet.local
2013-09-24 22:21:23,172 DEBUG [http-8080-14] otx.WebDAV : com.opentext.ecm.services.webdav.ViewEngine - [2619D129] - checking filter mappings...
......
2013-09-24 22:21:23,344 DEBUG [http-8080-14] otx.WebDAV : com.opentext.ecm.services.webdav.ViewEngine - [2619D129] - Connection closed
2013-09-24 22:21:23,345 DEBUG [http-8080-14] otx.WebDAV : com.opentext.ecm.services.webdav.ViewEngine - [2619D129] - DAV Response: 201 Created (MKCOL /ot-webdav/ilm/ILMAppDEV/ecd/100/ad/zrh_lopd5/20130924/000245)
Content-Length: 0
The folder is creted correctly but every PUT call fails with an HTTP 400 Bad Request ERROR stating that Content-Length is invalid.
We have checked and both the ILM-Verification tool from Opentext and the SAP system calls have Content_Length=-1 which I guess is correct and means that the WEBDAV server should read the file stream until the end. Is this not so?
Is there any configuration missing for WEBDAV modules or Tomcat?
We have an Enterprise Library Services 10.2.1 and Content Server 10.0.0.
Thanks,