Announcement

Collapse
No announcement yet.

Codierung UTF8 - UTF8-BOM

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Codierung UTF8 - UTF8-BOM

    Hallo,
    wir suchen immer noch, warum der Server meine Mails nicht interpretieren kann (siehe letzter Beitrag). Mir fällt auf, dass der Anhang in UTF8-BOM rausgeht und das könnte ein Grund sein. Ich stelle das so fest, indem ich die Datei in Notepad++ öffne und mir die Kodierung anzeigen lasse. Wo findet die Umwandlung statt?

    * Ich hab ein XML in UTF8
    * das kopiere ich in mein Outbox-Verzeichnis, da ist es noch in UTF8
    * von hier soll es an die Mail gehängt werden: mMessage.Attachments.Add(attachement)
    * ich lade es in ein XElement: doc=XElement.Load(mFile)
    * schon, wenn ich jetzt gleich ein Save mache, ist das Format UTF8-BOM
    * ich muss einige Änderungen machen, z.B. doc.<entry>.<resource>.<ReferralRequest>.<priority >.@value = "urgent"

    mittels XmlWriterSettings hatte ich angenommen, dass es danach in UTF8 geschrieben werden kann. Soll ja auch Default so sein. Hab trotzdem das Encoding angegeben.
    Code:
            Dim xws As New XmlWriterSettings
            xws.OmitXmlDeclaration = True
            xws.Encoding = System.Text.Encoding.UTF8
            xws.Indent = True
            Dim xw As XmlWriter = XmlWriter.Create(mFile, xws)
            doc.Save(xw)
            xw.Close()
    Nun isses immer noch in UTF8-BOM (sagt zumindest Notepad++). Und der Serverbetreiber (Kv-Telematik) meint, es könnte den Fehler verursachen. Kann es im Moment aber auch nicht verifizieren. Dazwischen liegen komplizierte MIME Ver-/Entschlüsselungen und das Attachement wird mit festen Werten verglichen (z.B. mit dem Absender und diversen IDs).
    Kann mir bitte jemand einen Rat geben?

    Grüße Norbert

  • #2
    Die Doku https://docs.microsoft.com/en-us/dot..._Encoding_UTF8 sagt:

    It returns a UTF8Encoding object that provides a Unicode byte order mark (BOM). To instantiate a UTF8 encoding that doesn't provide a BOM, call any overload of the UTF8Encoding constructor.

    Also versuche

    xws.Encoding = new UTF8Encoding()

    Comment


    • #3
      Danke! Das ging ja schnell. Hoffentlich hab ich Dir den Männertag nicht versaut ;-)
      Attachment ist jetzt UTF8. Bist ein echter Profi. Wollte schon vor Freude auf den Tisch springen. Aaaaber
      Der Server bringt stur seine Fehlermeldung.

      Mein Attachment sieht in etwa so aus:
      Code:
      <resource>
            <MessageHeader>
              <id value="e3ddbded-31d3-4505-805a-03b0d941621e" />
              <meta>
                <profile value="https://fhir.kbv.de/StructureDefinition/74_PR_ETS_MH_Vermittlungscodes-anfordern_Request" />
              </meta>
              <event>
                <system value="https://fhir.kbv.de/CodeSystem/74_CS_ETS_Events" />
                <code value="vermittlungscode-anfordern" />
              </event>
              <timestamp value="2019-05-30T18:05:56+02:00" />
              <source>
                <endpoint value="zertifizierung_231@kv-safenet.de" />
              </source>
              <focus>
                <reference value="urn:uuid:b777414e-7a7f-4391-9f46-7d0c9fb6a42b" />
              </focus>
            </MessageHeader>
      Dann antwortet der Server mit einer Mail

      Code:
       
       +OK Message follows Content-Type: multipart/mixed;  	boundary="----=_Part_473_1720146316.1559232388895" MIME-Version: 1.0 Message-ID: <651605117.474.1559232388895.JavaMail.fhirpmc@kvt-ref-13.comback.de> Date: Thu, 30 May 2019 18:06:28 +0200 (CEST) From: eTerminservice.test@kv-safenet.de To: zertifizierung_231@kv-safenet.de In-Reply-To: <169550486.29.7325398986493.JavaMail.Nutzer@SZ2> Subject: eTS;Vermittlungscode-Lieferung-Muster06;V2.0 X-KVC-Dienstkennung: eTS;Vermittlungscode-Lieferung-Muster06;V2.0 X-KVC-Sendersystem: KVC-Client;V4.5.1-RC7-SNAPSHOT X-EsetId: 37303A29E675F26B607263  ------=_Part_473_1720146316.1559232388895 Content-Type: application/fhir+xml; charset=UTF-8;  	name=Vermittlungscode-Lieferung-Muster06.xml Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="Vermittlungscode-Lieferung-Muster06.xml"  PEJ1bmRsZT4KICAgIDxpZCB2YWx1ZT0iODZhYmZjNTItNzc4YS00YjBlLWE5ZDctYjcwMTFiNDZh OGU5Ii8+CiAgICA8bWV0YT4KICAgICAgICA8cHJvZmlsZSB2YWx1ZT0iaHR0cHM6Ly9maGlyLmti di5kZS9TdHJ1Y3R1cmVEZWZpbml0aW9uLzc0X1BSX0VUU19CdW5kbGUiLz4KICAgIDwvbWV0YT4K ICAgIDx0eXBlIHZhbHVlPSJtZXNzYWdlIi8+CiAgICA8ZW50cnk+CiAgICAgICAgPGZ1bGxVcmwg dmFsdWU9InVybjp1dWlkOjdhN2M5MDlhLTRkMzAtNDkxMy04NjJjLTQxZWVhZDZlYmIyNiIvPgog

      und im Anhang steht der Fehler "MessageHeader.Source.Endpoint entspricht nicht der Absenderadresse"
      Code:
                      <response>
                          <identifier value="e3ddbded-31d3-4505-805a-03b0d941621e"/>
                          <code value="fatal-error"/>
                          <details>
                              <reference value="urn:uuid:748957fc-236e-4b90-903c-c093b05a41d4"/>
                          </details>
                      </response>
                  </MessageHeader>
              </resource>
          </entry>
          <entry>
              <fullUrl value="urn:uuid:748957fc-236e-4b90-903c-c093b05a41d4"/>
              <resource>
                  <OperationOutcome>
                      <id value="748957fc-236e-4b90-903c-c093b05a41d4"/>
                      <meta>
                          <profile value="https://fhir.kbv.de/StructureDefinition/74_PR_ETS_Operationoutcome"/>
                      </meta>
                      <issue>
                          <severity value="fatal"/>
                          <code value="value"/>
                          <details>
                              <coding>
                                  <system value="https://fhir.kbv.de/CodeSystem/74_CS_ETS_Fehler"/>
                                  <code value="1281"/>
                                  <display value="MessageHeader.Source.Endpoint entspricht nicht der Absenderadresse"/>
                              </coding>
                          </details>
                      </issue>
      Wir sitzen jetzt den dritten Tag dran. Aber es wäre wirklich zu viel verlangt, wenn Du Dich da reindenken solltest ...

      Viele Grüße
      Norbert

      Comment


      • #4
        Keine Ahnung, worum es geht, aber

        Code:
         
         From: eTerminservice.test@kv-safenet.de
        entspricht natürlich nicht

        Code:
         
         zertifizierung_231@kv-safenet.de

        Comment


        • #5
          Hat mich auch stutzig gemacht. Ich denke aber, dass da immer der Absender steht. Einmal ich, und bei der Antwort der Terminservice. Was der Server schickt, kann ich ja nicht beeinflussen. Von meiner Seite hab ich erstmal ausgeschlossen, dass es an WhiteSpaces oder an BOM liegt.
          Danke, dass Du es versucht hast. Morgen, wenn die Herrschaften wieder arbeiten, kommen wir vielleicht ein Stückchen weiter.
          Schönen Abend noch und ganz herzliche Grüße
          Norbert

          Comment

          Working...
          X