digipost / signature-api-client-java

Apache License 2.0
0 stars 1 forks source link

Feilmelding for inkorrekt MIME-type #70

Closed mekadotcom closed 6 years ago

mekadotcom commented 6 years ago

Får følgende feil når jeg prøver å sende dokument til testmiljø:

System.out.println documentFileType: application/pdf nov 19, 2018 10:33:26 AM no.digipost.signature.client.ClientConfiguration$Builder trustStore WARNING: Using test certificates in trust store. This should never be done for production environments. System.out.println portalDocumentFileType: application/pdf nov 19, 2018 10:33:27 AM org.springframework.oxm.jaxb.Jaxb2Marshaller createJaxbContextFromClasses INFO: Creating JAXBContext with classes to be bound [class no.digipost.signature.api.xml.thirdparty.xades.QualifyingProperties,class no.digipost.signature.api.xml.thirdparty.asice.XAdESSignatures,class no.digipost.signature.api.xml.XMLDirectSignatureJobRequest,class no.digipost.signature.api.xml.XMLDirectSignatureJobManifest,class no.digipost.signature.api.xml.XMLPortalSignatureJobManifest,class no.digipost.signature.api.xml.XMLPortalSignatureJobRequest] nov 19, 2018 10:33:27 AM org.springframework.oxm.jaxb.Jaxb2Marshaller createJaxbContextFromClasses INFO: Creating JAXBContext with classes to be bound [class no.digipost.signature.api.xml.thirdparty.xades.QualifyingProperties] nov 19, 2018 10:33:28 AM org.springframework.oxm.jaxb.Jaxb2Marshaller createJaxbContextFromClasses INFO: Creating JAXBContext with classes to be bound [class no.digipost.signature.api.xml.XMLError,class no.digipost.signature.api.xml.XMLDirectSignatureJobResponse,class no.digipost.signature.api.xml.XMLDirectSignatureJobStatusResponse,class no.digipost.signature.api.xml.XMLPortalSignatureJobResponse,class no.digipost.signature.api.xml.XMLPortalSignatureJobStatusChangeResponse] Exception in thread "main" no.digipost.signature.client.core.exceptions.UnexpectedResponseException: Expected [200 OK], but got 400 Bad Request [no.digipost.signature.api.xml.XMLError@31dadd46[errorCode=WRONG_MIME_TYPE, errorMessage=Document has the wrong mime type. Expected «application/pdf», got «text/plain»., errorType=CLIENT]] at no.digipost.signature.client.core.internal.ClientHelper.exceptionForGeneralError(ClientHelper.java:286) at no.digipost.signature.client.core.internal.ClientHelper.parseResponse(ClientHelper.java:277) at no.digipost.signature.client.core.internal.ClientHelper.access$100(ClientHelper.java:68) at no.digipost.signature.client.core.internal.ClientHelper$UsingBodyParts.postAsMultiPart(ClientHelper.java:249) at no.digipost.signature.client.core.internal.ClientHelper.lambda$sendPortalSignatureJobRequest$1(ClientHelper.java:102) at no.digipost.signature.client.core.internal.ClientExceptionMapper.doWithMappedClientException(ClientExceptionMapper.java:37) at no.digipost.signature.client.core.internal.ClientHelper.call(ClientHelper.java:205) at no.digipost.signature.client.core.internal.ClientHelper.sendPortalSignatureJobRequest(ClientHelper.java:101) at no.digipost.signature.client.portal.PortalClient.create(PortalClient.java:55) at test.test.App.main(App.java:92)

asjafjell commented 6 years ago

Heisann. Hva er det konkret du lurer på her? Feilmeldingen bør være selvforklarende.

mekadotcom commented 6 years ago

Hei igjen. Jeg har markert i bold at jeg to ganger printer ut at filetypen er application/pdf, men for fortsatt feil om at den ikke er det

asjafjell commented 6 years ago

Hva er det du printer ut når du får den verdien?

mekadotcom commented 6 years ago

document.getMimeType(); portalJob.getDocument().getMimeType();

asjafjell commented 6 years ago

Fiffig. Som sist gang så sier kode mer enn tusen exceptionlinjer. Kan du sende eksempelkode på hvordan du lager en jobb og sender den?

mekadotcom commented 6 years ago

PortalClient client = new PortalClient(clientConfiguration); PortalDocument document = PortalDocument.builder("Subject", "document.pdf", byteArray).fileType(FileType.PDF).build(); PortalSigner signer = PortalSigner.identifiedByPersonalIdentificationNumber("11089404837",NotificationsUsingLookup.EMAIL_ONLY).build(); PortalJob portalJob = PortalJob.builder(document,signer).build(); PortalJobResponse portalJobResponse = client.create(portalJob);

asjafjell commented 6 years ago

Dette virker veldig rart. Skal lage en test her og verifisere eller avkrefte koden du har sendt, og så ta det derfra. I mellomtiden kan du kanskje gi meg tidspunkt du har prøvd å sende og klientkonfigurasjon slik at jeg kan se hvilket miljø du går mot? Edit: Og hvilken versjon av biblioteket du bruker.

mekadotcom commented 6 years ago

19.nov.2018, 15:23:43

asjafjell commented 6 years ago

Det eksempelet du sendte fungerte helt fint når jeg testet. Så da må det være noe med dataene du sender inn. Jeg ser vi gjør en sjekk på vår side om det faktisk er en PDF - vi stoler ikke blindt på det vi mottar i API. Har du sjekket at du faktisk sender inn en PDF også?

mekadotcom commented 6 years ago

Du hadde rett, det var måten dokumentet ble lastet inn på. Det var en feil på byteArrayen som dokumentet bestod av. Tusen takk for hjelpen!

asjafjell commented 6 years ago

Supert. Anbefaler at du sjekker opp slike ting mer nøye selv for neste feil du måtte oppleve, slik at vi ikke må bruke masse tid på å debugge dette for deg. Dette er et gjennomtestet bibliotek og skal ha svært få bugs.