Quantcast
Channel: SCN : Discussion List - SAP NetWeaver Technology Platform
Viewing all articles
Browse latest Browse all 1520

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

$
0
0

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

 


Viewing all articles
Browse latest Browse all 1520

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>