on 04-30-2008 2:53 PM
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
Hi all,
PART UNKNOWN (NULL) means the response received from the provider is not valid, based on the WSDL file.
Check the following Wiki page on this topic: Provider's response cannot be parsed when executing Service Consumer - ABAP Connectivity - SCN Wiki
Cheers,
Attila
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
We have the same problem here with an external web service.
Is there any solution known to this issue yet?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hello Mathias,
in our case the problem was, that the WDSL used parameters, which were not correcty interpreted by the SAP-Routine that creates the proxy.
We changed the WDSL using only paramters covert by SAP.
Here ist the WSDL that worked fine:
<?xml version="1.0" encoding="utf-8" ?>
- <wsdl:definitions targetNamespace="https://soap.global-esign.com/axis/services/GlobalEsignSoapExt" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="https://soap.global-esign.com/axis/services/GlobalEsignSoapExt" xmlns:tsi="http://GlobalEsign.tsi.de">
- <wsdl:documentation>
<sidl:sidl xmlns:sidl="http://www.sap.com/2007/03/sidl" />
</wsdl:documentation>
- <wsdl:types>
- <xsd:schema elementFormDefault="qualified" targetNamespace="https://soap.global-esign.com/axis/services/GlobalEsignSoapExt" xmlns="https://soap.global-esign.com/axis/services/GlobalEsignSoapExt">
- <xsd:complexType name="CreatePdfSignature">
- <xsd:sequence>
<xsd:element name="in0" type="xsd:string" />
<xsd:element name="in1" type="xsd:string" />
<xsd:element name="in2" type="xsd:base64Binary" />
<xsd:element name="in3" type="xsd:string" />
<xsd:element name="in4" type="xsd:boolean" />
<xsd:element name="in5" type="xsd:string" />
<xsd:element name="in6" type="xsd:string" />
</xsd:sequence>
</xsd:complexType>
</xsd:schema>
- <xsd:schema targetNamespace="http://GlobalEsign.tsi.de" xmlns="http://GlobalEsign.tsi.de">
<xsd:import namespace="https://soap.global-esign.com/axis/services/GlobalEsignSoapExt" />
<xsd:element name="CreatePdfSignature" type="tns:CreatePdfSignature" />
- <xsd:element name="CreatePdfSignatureResponse">
- <xsd:complexType>
- <xsd:sequence>
<xsd:element name="CreatePdfSignatureReturn" type="xsd:base64Binary" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
</wsdl:types>
- <wsdl:message name="CreatePdfSignature">
<wsdl:part name="CreatePdfSignature" element="tsi:CreatePdfSignature" />
</wsdl:message>
- <wsdl:message name="CreatePdfSignatureResponse">
<wsdl:part name="CreatePdfSignatureResponse" element="tsi:CreatePdfSignatureResponse" />
</wsdl:message>
- <wsdl:portType name="GlobalEsignSoapExt">
- <wsdl:operation name="CreatePdfSignature">
<wsdl:input message="tns:CreatePdfSignature" />
<wsdl:output message="tns:CreatePdfSignatureResponse" />
</wsdl:operation>
</wsdl:portType>
</wsdl:definitions>
<wsdl:part name="in1" type="xsd:string"/> was changed to <xsd:element name="in0" type="xsd:string" /> .
Please let me know, whether you succeeded.
Kind regards
Heinz Schäfe
Hello Heinz & Johann,
We are also facing the same issue when we try to consume a web service created in REMEDY into SAP GRC AC 10.
The data is received in the "Work order" of Remedy system , but there is no response received and at the end of the consumption test
we get the error "GENERAL_ERROR Error duing proxy processing (PART UNKNOWN (NULL) )"
I also observed that there are no logs seen for this web service in "SOAMANAGER", neither under Warning" , neither under Error.
Just no logs for this event.
Is there any workaround or fix for this issue ?
Please share with us.
Thanks in advance.
Regards,
Victor
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Victor ,
we are also facing the same
error while trying to consume the external web service from Oracle to SAP.
we are able to see the response in Web Service Utilities:Payload Trace(SRT_UTIL).
If you found any solution to solve this issue?
Please share with us.
Best Regards,
Raja.
Hi Heinz,
I have the same problem. Have you solved the problem? Can you tell me the solution.
Thanks for help.
Kind regards
Johann
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
88 | |
23 | |
11 | |
9 | |
8 | |
5 | |
5 | |
5 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.