Quantcast
Channel: SCN: Message List - ABAP Development
Viewing all articles
Browse latest Browse all 10425

Consume a web services in abap program

$
0
0

Hi all,

 

I saw different posts about this subject, but I don't get the solution.

I have a web services that i need consume in abap program. i made the following steps:

 

- In the se38 I create a client proxy

- In the soaManager I create a Logical Port.

- I create a program to execute the client proxy.

 

When I execute the program occur the following error:

 

"System fault occurred: SOAP:1.001 CX_SXML_PARSE_ERROR:SXML reader/writer exception.Error while parsing an XML stream: 'undeclared namespace prefix'."

 

The error occur in the code where I unparserd fragment. 

 

*create SXMLP fragment.

  l_fragment = cl_sxmlp_factory=>create_fragment(

                                        name  = m_wrapped_part->qname-na

                                        nsuri = m_wrapped_part->qname-na

  l_fragment->set_unparsed_fragment( fragment = l_xstring ).

  l_fragment->serialize( writer = writer package_writer = package_writer

 

 

Follow the program code:

 

REPORT  z_execute_ws.

 

DATA: lo_sys_exception      TYPE REF TO cx_ai_system_fault.

DATA: zproxy                TYPE REF TO zproxyco_hpd_incident_interfac.

DATA: lo_app_ex             TYPE REF TO cx_ai_application_fault.

DATA: ws_header             TYPE REF TO if_wsprotocol_ws_header.

 

 

DATA: ixml                TYPE REF TO if_ixml,

       xml_document        TYPE REF TO if_ixml_document,

       xml_root            TYPE REF TO if_ixml_element,

       xml_element         TYPE REF TO if_ixml_element,

       xml_node            TYPE REF TO if_ixml_node,

       name                TYPE string,

       namespace           TYPE string..

 

DATA l_xstring        TYPE xstring.

DATA l_string         TYPE string.

FIELD-SYMBOLS         <fs_xstring> TYPE xstring.

 

    CONCATENATE

     '<soapenv:Header>'

     '<urn:AuthenticationInfo>'

     '<urn:userName>_Service_SBM</urn:userName>'

     '<urn:password>123456</urn:password>'

     '</urn:AuthenticationInfo>'

     '</soapenv:Header>' INTO l_string.

 

 

TRY.

    CREATE OBJECT zproxy

       EXPORTING

         logical_port_name = 'Z_LP_CO_HPD_INCIDENT_INTERFAC'.

 

    ws_header ?= zproxy->get_protocol('IF_WSPROTOCOL_WS_HEADER').

 

   l_xstring = cl_proxy_service=>cstring2xstring( l_string ).

 

     IF NOT l_string IS INITIAL.

 

       CALL FUNCTION 'SDIXML_XML_TO_DOM'

         EXPORTING

           xml           = l_xstring

         IMPORTING

           document      = xml_document

         EXCEPTIONS

           invalid_input = 1

           OTHERS        = 2.

 

       IF sy-subrc = 0 AND NOT xml_document IS INITIAL.

         xml_root = xml_document->get_root_element( ).

         xml_element ?= xml_root->get_first_child( ).

 

 

         WHILE NOT xml_element IS INITIAL.

           name = xml_element->get_name( ).

           namespace = xml_element->GET_NAMESPACE_uri( ).

 

           ws_header->set_request_header(

                       name = name

                       namespace = 'urn:HPD_IncidentInterface_WS'

                       dom = xml_element ).

 

           xml_element ?= xml_element->get_next( ).

         ENDWHILE.

       ENDIF.

     ENDIF.

 

 

   CATCH cx_ai_system_fault .

ENDTRY.

DATA: output  TYPE  zproxyhelp_desk_query_service .

DATA: input TYPE  zproxyhelp_desk_query_service1 .

 

 

TRY.

     input-parameters-incident_number = 'INC000000000668'.

 

 

     CALL METHOD zproxy->help_desk_query_service

       EXPORTING

         input  = input

       IMPORTING

         output = output.

 

 

   CATCH cx_ai_system_fault INTO lo_sys_exception.

     WRITE:/ 'System fault occurred:', lo_sys_exception->code, lo_sys_exception->errortext.

   CATCH cx_ai_application_fault INTO lo_app_ex.

     WRITE: / 'Application fault occurred ', lo_app_ex->textid.

ENDTRY.

 

Can somebody help please ?

 

Thanks in advance,

 

Best regards,

 

 

 



Viewing all articles
Browse latest Browse all 10425

Trending Articles