Skip to Content
0
Former Member
Apr 30, 2008 at 01:53 PM

external SOAP-Call ends with general error "PART UNKNOWN (NULL)"

2074 Views

Hi,

we generated a consumer proxy using the following WSDL file:

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"> http://schemas.xmlsoap.org/soap/http"/> http://schemas.xmlsoap.org/soap/encoding/" namespace=" http://GlobalEsign.tsi.de" use="encoded"/> http://schemas.xmlsoap.org/soap/encoding/" namespace=" https://soap.global-esign.com/axis/services/GlobalEsignSoapExt" use="encoded"/> https://soap.global-esign.com/axis/services/GlobalEsignSoapExt"/>

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