Hi,
we generated a consumer proxy using the following WSDL file:
<?xml version="1.0" encoding="UTF-8"?><wsdl:definitions targetNamespace="https://soap.global-esign.com/axis/services/GlobalEsignSoapExt" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="https://soap.global-esign.com/axis/services/GlobalEsignSoapExt" xmlns:intf="https://soap.global-esign.com/axis/services/GlobalEsignSoapExt" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns1="https://soap.global-esign.com/xsd" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><!--WSDL created by Apache Axis version: 1.3 Built on Oct 05, 2005 (05:23:37 EDT)--> <wsdl:message name="CreatePdfSignatureRequest"> <wsdl:part name="in0" type="xsd:string"/> <wsdl:part name="in1" type="xsd:string"/> <wsdl:part name="in2" type="xsd:base64Binary"/> <wsdl:part name="in3" type="xsd:string"/> <wsdl:part name="in4" type="xsd:boolean"/> <wsdl:part name="in5" type="xsd:string"/> <wsdl:part name="in6" type="xsd:string"/> </wsdl:message> <wsdl:message name="CreatePdfSignatureResponse"> <wsdl:part name="CreatePdfSignatureReturn" type="xsd:base64Binary"/> </wsdl:message> <wsdl:portType name="GlobalEsignSoapExt"> <wsdl:operation name="CreatePdfSignature" parameterOrder="in0 in1 in2 in3 in4 in5 in6"> <wsdl:input message="impl:CreatePdfSignatureRequest" name="CreatePdfSignatureRequest"/> <wsdl:output message="impl:CreatePdfSignatureResponse" name="CreatePdfSignatureResponse"/> </wsdl:operation> </wsdl:portType> <wsdl:binding name="GlobalEsignSoapExtSoapBinding" type="impl:GlobalEsignSoapExt"> <wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/> <wsdl:operation name="CreatePdfSignature"> <wsdlsoap:operation soapAction=""/> <wsdl:input name="CreatePdfSignatureRequest"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://GlobalEsign.tsi.de" use="encoded"/> </wsdl:input> <wsdl:output name="CreatePdfSignatureResponse"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="https://soap.global-esign.com/axis/services/GlobalEsignSoapExt" use="encoded"/> </wsdl:output> </wsdl:operation> </wsdl:binding> <wsdl:service name="GlobalEsignSoapExtService"> <wsdl:port binding="impl:GlobalEsignSoapExtSoapBinding" name="GlobalEsignSoapExt"> <wsdlsoap:address location="https://soap.global-esign.com/axis/services/GlobalEsignSoapExt"/> </wsdl:port> </wsdl:service></wsdl:definitions>
The coding of the test program is:
*&---------------------------------------------------------------------* *& Report Z_SOAP_PDF_SIGNATUR *& *&---------------------------------------------------------------------* *& *& *&---------------------------------------------------------------------* REPORT z_soap_pdf_signatur. *------ Type pools type-pools: sai. *------ Class definitions and references DATA: lo_zpdf_sign TYPE REF TO zpdfco_global_esign_soap_ext, lo_system_fault TYPE REF TO cx_ai_system_fault, lo_appl_fault type ref to cx_ai_application_fault. *------ data DATA: output TYPE zpdfcreate_pdf_signature_respo, input TYPE zpdfcreate_pdf_signature. DATA: wa_controller TYPE prxctrl. DATA: pdfout(255) TYPE c VALUE 'C:/TEMP/pp-20080229-93ES-40010-0013439840-1690000005.pdf', pdfsign(255) TYPE c VALUE 'C:/TEMP/pp-20080229-93ES-40010-0013439840-1690000005-sign.pdf', wa_objcont TYPE soli, objcont LIKE soli OCCURS 0. DATA: xlines TYPE string, buffer TYPE xstring, x_msg TYPE c LENGTH 100. TRY. CREATE OBJECT lo_zpdf_sign EXPORTING logical_port_name = 't_systems'. CATCH cx_ai_system_fault . ENDTRY. * read unsigned pdf OPEN DATASET pdfout FOR INPUT MESSAGE x_msg IN BINARY MODE. TRY. READ DATASET pdfout INTO xlines. CATCH cx_sy_file_open_mode. EXIT. ENDTRY. CLOSE DATASET pdfout. * convert string CALL FUNCTION 'SCMS_STRING_TO_XSTRING' EXPORTING text = xlines * MIMETYPE = ' ' * encoding = 'UTF-8' IMPORTING buffer = buffer EXCEPTIONS failed = 1 OTHERS = 2 . TRY. input-in0 = 'user'. input-in1 = 'password'. input-in2 = buffer. input-in3 = 'affilinet'. CALL METHOD lo_zpdf_sign->create_pdf_signature EXPORTING input = input IMPORTING output = output. CATCH cx_ai_system_fault INTO lo_system_fault. DATA: lv_message TYPE string. DATA: lv_message_long TYPE string. CALL METHOD lo_system_fault->if_message~get_text RECEIVING result = lv_message. CALL METHOD lo_system_fault->if_message~get_longtext RECEIVING result = lv_message_long. WRITE lv_message. WRITE lv_message_long. CATCH cx_ai_application_fault into lo_appl_fault. DATA: lv_messaap TYPE string. DATA: lv_messaap_long TYPE string. CALL METHOD lo_appl_fault->if_message~get_text RECEIVING result = lv_messaap. CALL METHOD lo_appl_fault->if_message~get_longtext RECEIVING result = lv_messaap_long. WRITE lv_messaap. WRITE lv_messaap_long. ENDTRY. LOOP AT output-controller INTO wa_controller. WRITE:/ wa_controller-field. WRITE:/ wa_controller-value. ENDLOOP. * store signed pdf OPEN DATASET pdfsign FOR output MESSAGE x_msg IN BINARY MODE. transfer output-CREATE_PDF_SIGNATURE_RETURN to pdfsign.
Processing the soap call in the test programm ends in a system exception (cx_ai_system_fault) with the message:
"General Error Es ist ein Fehler bei der Proxy-Verarbeitung aufgetreten ( PART UNKNOWN (NULL) )"
It seems as if there is no response or a response in a wrong format given by the webservice.
We had a look at the ICF-Trace.
The request seems to be a proper soap-call.
But the response is not in XML-format and therefore could not be completely displayed.
it says:
Ungültig auf der obersten Ebene im Dokument. Fehler beim Bearbeiten der Ressource 'file:///C:/Dokumente und Einstellungen/S...
HTTP/1.1 200 OK
^
Could anybody help ?
Kind regards
Heinz