We are using the archiveService-v3 SOAP and for a new client we will switch from url:
“https://preprod.signicat.com/ws/archiveservice-v3”
to the new url
“https://api.signicat.com/enterprise/ws/archiveservice-v3”
and use client-id and secret for auth instead of Basic + certificate.
As we understand using the new urls require getting a Token which we implemented, but to upload a document we cannot use the SDS (I assume this only works with certificate in production).
For this reason we implemented a change and used the Enterprise Sign Api https://api.signicat.com/enterprise/sign/documents endpoint to upload documents
NOTE:
- I still use the SDS Document in CreateRequest when using the DocumentServiceV3, with the documentId I got from the Sign API request
The issue is when trying to use https://api.signicat.com/enterprise/ws/archiveservice-v3 for retrieving the document from archive service, I am getting a 400 Bad Request.
The weird thing is using the “https://preprod.signicat.com/ws/archiveservice-v3” with the same archiveId response is 200 and document is returned???
example archive-id to search for in your logs: 090520251shc25yerwj8ye3dz0kf2nj2umrcsfbtwyoeyhogv1b7m4m2be
NOTE:
sing the DocumentServiceV3 to fetch the documentReference I see a difference in the response url using the same requestId for both examples:
“https://preprod.signicat.com/ws/archiveservice-v3” example response:
https://preprod.signicat.com/doc/demo/order/090520251at0zmiiz1z0gdlgx6nmfvte31uta0hy0afoy3i5zzhh2125om/d0c81990-152c-4002-9943-28602dcf1d6b/_0_/sdo
“https://api.signicat.com/enterprise/ws/archiveservice-v3”:
https://api.signicat.com/enterprise/sign/orders/090520251at0zmiiz1z0gdlgx6nmfvte31uta0hy0afoy3i5zzhh2125om/tasks/d0c81990-152c-4002-9943-28602dcf1d6b/documents/_0_/result
NOTE: nothing relevant in response besides 400 Bad Request
15:13:44.737 [http-nio-8080-exec-7] TRACE o.s.ws.client.MessageTracing.sent - Sent request [<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"><SOAP-ENV:Header/><SOAP-ENV:Body><ns2:archive-request xmlns:ns2="https://id.signicat.com/definitions/wsdl/Archive-v3"><ns2:version>3</ns2:version><ns2:service>demo</ns2:service><ns2:password>Bond007</ns2:password><ns2:archive-id>090520251shc25yerwj8ye3dz0kf2nj2umrcsfbtwyoeyhogv1b7m4m2be</ns2:archive-id></ns2:archive-request></SOAP-ENV:Body></SOAP-ENV:Envelope>]
15:13:46.136 [http-nio-8080-exec-7] DEBUG o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Using @ExceptionHandler io.*.signature.ControllerAdvice#handleException(Exception)
15:13:46.137 [http-nio-8080-exec-7] ERROR i.*.signature.ControllerAdvice - class org.springframework.ws.client.WebServiceTransportException
org.springframework.ws.client.WebServiceTransportException: Bad Request [400]
NOTE: Trying to use the Enterprise Sign API I cannot get a response for binary with Context-Type other than application/ltv-sdo.