Hi guys,
Have any of you worked with a client proxy generated by a WSDL?
I am encountering the following problemu2026 when I generate the proxy, everything is fine; but when trying to consume a WebService, calling the method through my program, I receive this exception, CX_AI_SYSTEM_FAULT, with the following message:
SOAP:1.001 CX_ST_GROUP_MISSING_CASE:XSLT exception. Falta elemento PurchaseNumber
I have directly executed the proxy customer by making an test (F8) and the same mistake results, but when I activate the u201CExtended XML Handlingu201D checkbox, the client proxy works well and I obtained answers from the WebService. I have been looking for some info about Extended XML Handling and I have done what is suggested in the examples codes but the same mistake has come out. However, when executing the proxy in test and activating Extended XML Handling, it works out. I have tried to fill in the CONTROLLER tables and it didnu2019t work either.
I have debugged the proxy test and the Extended XML Handling parameter is sent, but not from my program, although I set it with u2018Xu2019 with method u201Cset_extended_xml_handlingu201D.
Has someone consume an external service by activating the Extended XML Handling from the program?
Thanks for the help!
This is my WSDL:
http://194.224.215.78/eb2bcESB/purchaseProxy?wsdl
This is my code:
v_proxy TYPE REF TO zpx_co_orderws, u201CThis is my proxy client generated with the WSDL
v_server_context = cl_proxy_access=>get_server_context( ).
v_payload_protocol ?= v_server_context->get_protocol( if_wsprotocol=>payload ).
CALL METHOD v_payload_protocol->set_extended_xml_handling( extended_xml_handling = 'X' ).
TRY.
CALL METHOD v_proxy->delete_purchases
EXPORTING
input = purchases_request
IMPORTING
output = purchases_response.
CATCH cx_ai_system_fault INTO sys_fault.
IF sys_fault IS NOT INITIAL.
v_text = sys_fault->get_text( ).
v_error = 'X'.
ELSE.
v_error = ' '.
ENDIF.
CATCH cx_ai_application_fault INTO appl_fault.
IF appl_fault IS NOT INITIAL.
v_text = sys_fault->get_text( ).
v_error = 'X'.
ELSE.
v_error = ' '.
ENDIF.
ENDTRY.