SOAP Aufruf mit Content Rückgabe


WAS, Netweaver®

Moderatoren: Jan, Steff

SOAP Aufruf mit Content Rückgabe

Beitragvon eschi78 » 19.02.2013, 15:33

Hallo zusammen,

ich habe einen SOAP Aufruf für ein Archivsystem programmiert und bekomme auch eine Nachricht wieder. Als Anhang im Bereich Content unter dem Body Bereich der SOAP-Response
bekomme ich das komplette PDF-Dokument in Binär Daten zurück.

Meine Frage:

Wie kann ich nur den Content Bereich einer SOAP Nachricht lesen ohne Body und Header Daten?

Ich benutze für Aufruf und Empfang Methoden der Interface: IF_HTTP_REQUEST(Aufruf) IF_HTTP_RESPONSE(Antwort)

Gruß

Eschi78
eschi78
ForumUser
 
Beiträge: 71
Registriert: 16.11.2004, 14:39
Dank erhalten: 0 mal

Sponsor

Alte ABAP-Entwicklerweisheit: Weißt du weder aus noch ein, baust du einen BADI ein

Re: SOAP Aufruf mit Content Rückgabe

Beitragvon a-dead-trousers » 19.02.2013, 17:15

hi!

Ich vermute du verwendest die ARCHIVELINK-Bausteine oder?
Damit nur der Content-Abschnitt zurückgelierfert wird, musst du glaub ich den Aufruf zum Archiv (SOAP URL) entweder mit "get" oder mit "docGet" durchführen.
Dann sollte nur der Content-Abschnitt daherkommen.
Alternativ kannst du dir ja den Content-Bereich von den Gesamt-Daten "abzwicken".
Einfach alles VOR der Zeile -- weglassen.
Ebenfalls auch alles nach der abschließenden Zeile mit -- weglassen.

Übrigens handelt es sich bei den Daten vor dem Content um den Response-Header.
Weitere Infos gibts in der SAP Content Server HTTP 4.5 Schnittstellen Beschreibung.
Link weiß ich jetzt leider keinen, aber wenn du willst kann ich dir das PDF dazu schicken.

lg ADT
Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.07
Basis: 7.40
a-dead-trousers
Top Expert
 
Beiträge: 3185
Registriert: 07.02.2011, 13:40
Dank erhalten: 789 mal
Ich bin: Entwickler/in

Re: SOAP Aufruf mit Content Rückgabe

Beitragvon eschi78 » 19.02.2013, 17:35

Hallo,

danke für die Antwort! Archive Link hat damit nichts zu tun. Das Archivsystem ist nicht mit dem SAP verbunden, sondern liegt komplett
außerhalb. In den bereitgestellten Funktionen dieses Archivsystems gibt es leider keine Methode DocGet o. ä.! Es gibt nur GetFull
und diese liefert mir als einzige diesen SOAP Response.
Abzwicken ist bei einer internen Tabelle im XSTRING Format natürlich schwierig und beim Unkonvertieren werden diverse Zeichen falsch
dargestellt.
Bei den Methoden habe ich nur die des IF_HTTP_RESPONSE zur Verfügung!

Bezieht sich die Beschreibung nur auf Archive Link?

Gruß

Eschi78
eschi78
ForumUser
 
Beiträge: 71
Registriert: 16.11.2004, 14:39
Dank erhalten: 0 mal

Re: SOAP Aufruf mit Content Rückgabe

Beitragvon a-dead-trousers » 20.02.2013, 08:33

jepp, hab nur Erfahrung mit ArchiveLink.

Da kommen die Daten von Haus aus als Text an.
Daher ist es relativ einfach möglich den Text-Abschnitt vor den eigentlichen Nutzdaten zu entfernen.

Du könntest aber noch etwas versuchen:
Mit der Klasse CL_ABAP_CONV_IN_CE kann man die XSTRING Daten ohne Konvertierung der Codepage in STRING umwandeln. Dann kannst du die Daten mit einem normalen Textsearch und -replace bearbeiten und schließlich mit CL_ABAP_CONV_OUT_CE wieder in XSTRING umwandeln.
Alternativ (glaub erst ab Basis 7.0) kann man den FIND Befehl mit dem Zusatz IN BYTE MODE verwenden um den Beginn des Content Bereiches zu ermitteln bzw. das Ende des Response-Headers. Natürlich muss dann der Suchtext als Hex-Wert vorliegen.

lg ADT
Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.07
Basis: 7.40
a-dead-trousers
Top Expert
 
Beiträge: 3185
Registriert: 07.02.2011, 13:40
Dank erhalten: 789 mal
Ich bin: Entwickler/in

Re: SOAP Aufruf mit Content Rückgabe

Beitragvon eschi78 » 20.02.2013, 09:50

Welche Methode der Klasse CL_ABAP_CONV_IN_CE meinst du denn?
eschi78
ForumUser
 
Beiträge: 71
Registriert: 16.11.2004, 14:39
Dank erhalten: 0 mal

Re: SOAP Aufruf mit Content Rückgabe

Beitragvon a-dead-trousers » 20.02.2013, 11:20

hi!

Mit cl_abap_conv_in_ce=>create( ) eine Instanz erzeugen und mit der Methode CONVERT von XSTRING auf STRING konvertieren.

lg ADT
Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.07
Basis: 7.40
a-dead-trousers
Top Expert
 
Beiträge: 3185
Registriert: 07.02.2011, 13:40
Dank erhalten: 789 mal
Ich bin: Entwickler/in


Zurück zu Web Application Server

  Aktuelle Beiträge   
gelöst Switchen via Radiobutton zwischen Parameter & Select-options
vor 5 Stunden von der_Schwede 2 Antw.
Klasse /SAPSLL/CL_PRCLS_API
vor 9 Stunden von SAP_ENTWICKLER 0 Antw.
SAP Sanbdox Zugriff
vor 10 Stunden von doorconfig 0 Antw.
WF - 'fehlender' Parameter in BO-Methode
vor 11 Stunden von bapimueller 0 Antw.
FS 'WS_UPLOAD' in Klasse umwandeln cl_gui_frontend_services
vor 12 Stunden von L0w-RiDer 0 Antw.

  Ähnliche Beiträge beta
SOAP-RFC-Aufruf und transaktionaler RFC
30.01.2006, 09:35 von Bernd 1 Antw.
Webservice via SOAP unter WEB AS 6.20
29.06.2005, 14:38 von Tommad 0 Antw.
Mittels VB.NET über SOAP auf SAP zugreifen
03.08.2006, 08:24 von Kaiwalker 7 Antw.
URL Aufruf der BSP
09.11.2005, 11:02 von juchheim 0 Antw.
SAP Logon bei Aufruf WebGUI
18.02.2019, 14:17 von msfox 0 Antw.

 

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder