cancel
Showing results for 
Search instead for 
Did you mean: 

Syncrounous Soap to Proxy issue: response message empty tag in SXMB_MONI

binnari_rampullaiah2
Participant
0 Kudos

Hi friends,

I implemented Soap to Proxy synchronous scenario. when i tested from SOAP UI Message processed successfully but the response message empty.

SOAP Request:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:npcl.com:UploadPlotedNW_Design_GIS_TO_SAP">

   <soapenv:Header/>

   <soapenv:Body>

      <urn:MT_DesignPDF_REQ>

         <!--Zero or more repetitions:-->

         <PATH_DETAILS>

            <BP_NUMBER>2000100646</BP_NUMBER>

            <!--Optional:-->

            <DESIGN_NUMBER>design1</DESIGN_NUMBER>

            <!--Optional:-->

            <PROJECT_NAME>prj1</PROJECT_NAME>

            <DESIGN_PATH>D:\usr\sap\APLL.PDF</DESIGN_PATH>

         </PATH_DETAILS>

      </urn:MT_DesignPDF_REQ>

   </soapenv:Body>

</soapenv:Envelope>

Response:

<SOAP:Envelope xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">

   <SOAP:Header/>

   <SOAP:Body>

      <ns0:MT_Design_RES_GIS xmlns:ns0="urn:npcl.com:UploadPlotedNW_Design_GIS_TO_SAP">

          <Path_Details>

            <BP_NUMBER>String 5</BP_NUMBER>

            <URL>String 6</URL>

          </Path_Details>

      </ns0:MT_Design_RES_GIS>

   </SOAP:Body>

</SOAP:Envelope>

In the place of BP_Number and URL i should get the bp number and path details from ECC system.

I tested proxy from SPROXY but it giving BP Number and path in response.


The Messages in SXMB_MONI showing chek flags for both request and response.



The code in SPROXY:


method ZII_SI_DESIGN_PDF_SAP~SI_DESIGN_PDF_SAP.

   DATA: it_final TYPE TABLE OF ZDT_DESIGN_PDF_REQ_PATH_DETAIL,

       wa_final TYPE ZDT_DESIGN_PDF_REQ_PATH_DETAIL,

       IT_OUT TYPE TABLE OF ZDT_DESIGN_PDF_RES_DMS_PATH,

       WA_OUT TYPE ZDT_DESIGN_PDF_RES_DMS_PATH,

       gv_ABSOLUTE_URI TYPE SAPB-URI.

if input IS NOT INITIAL.

   move INPUT-MT_DESIGN_PDF_REQ-PATH_DETAILS to it_final.

  endif.

sort it_final by bp_number.

LOOP at it_final INTO wa_final.

   CLEAR: wa_out.

   EXPORT wa_final-BP_NUMBER FROM wa_final-BP_NUMBER to MEMORY id 'BPNO'.

   EXPORT wa_final-DESIGN_PATH FROM wa_final-DESIGN_PATH TO MEMORY ID 'PATH'.

   SUBMIT ZPDFATTACH_NEWCONN_RS_PDF AND RETURN.

   IMPORT gv_ABSOLUTE_URI = gv_ABSOLUTE_URI FROM MEMORY ID 'URL'.

   IF gv_ABSOLUTE_URI IS NOT INITIAL.

     WA_OUT-PATH = gv_ABSOLUTE_URI.

     WA_OUT-BP_NUMBER = wa_final-BP_NUMBER.

    ENDIF.

    APPEND WA_OUT TO IT_OUT.

    CLEAR: wa_final-BP_NUMBER,wa_final-DESIGN_PATH.

    FREE MEMORY ID 'URL'.

    ENDLOOP.

   IF IT_OUT IS NOT INITIAL.

     MOVE IT_OUT TO OUTPUT-MT_DESIGN_PDF_RES-DMS_PATH.

   ENDIF.

   call method lcl_fill_data=>ZMT_DESIGN_PDF_RES

     importing

       out = OUTPUT.

   endmethod.




class lcl_fill_data implementation.

   method ZMT_DESIGN_PDF_REQ.

     call method ZDT_DESIGN_PDF_REQ

       importing

         out = out-MT_DESIGN_PDF_REQ.

   endmethod.

   method ZDT_DESIGN_PDF_REQ.

     call method ZDT_DESIGN_PDF_REQ_PATH_DE_TAB

       importing

         out = out-PATH_DETAILS.

   endmethod.

   method ZDT_DESIGN_PDF_REQ_PATH_DE_TAB.

     data: ls_out like line of out.

     call method ZDT_DESIGN_PDF_REQ_PATH_DETAIL

       importing

         out = ls_out.

     do 3 times.

       append ls_out to out.

     enddo.

   endmethod.

   method ZDT_DESIGN_PDF_REQ_PATH_DETAIL.

     out-BP_NUMBER = `String 1`. "#EC NOTEXT

     out-DESIGN_NUMBER = `String 2`. "#EC NOTEXT

     out-PROJECT_NAME = `String 3`. "#EC NOTEXT

     out-DESIGN_PATH = `String 4`. "#EC NOTEXT

   endmethod.

   method ZMT_DESIGN_PDF_RES.

     call method ZDT_DESIGN_PDF_RES

       importing

         out = out-MT_DESIGN_PDF_RES.

   endmethod.

   method ZDT_DESIGN_PDF_RES.

     call method ZDT_DESIGN_PDF_RES_DMS_PAT_TAB

       importing

         out = out-DMS_PATH.

   endmethod.

   method ZDT_DESIGN_PDF_RES_DMS_PAT_TAB.

     data: ls_out like line of out.

     call method ZDT_DESIGN_PDF_RES_DMS_PATH

       importing

         out = ls_out.

     do 3 times.

       append ls_out to out.

     enddo.

   endmethod.

   method ZDT_DESIGN_PDF_RES_DMS_PATH.

     out-BP_NUMBER = `String 5`. "#EC NOTEXT

     out-PATH = `String 6`. "#EC NOTEXT

   endmethod.

endclass.

Accepted Solutions (0)

Answers (3)

Answers (3)

former_member190293
Active Contributor
0 Kudos

Hi, Binnari!

In your ABAP proxy code you fill response message with data returned by your ABAP report and after that call the method:

call method lcl_fill_data=>ZMT_DESIGN_PDF_RES

     importing

       out = OUTPUT.

   endmethod.


which sets:

     out-BP_NUMBER = `String 5`.

     out-PATH = `String 6`.

in your response message.

Are you sure that you need this last method call? It gives you result you described above.

Regards, Evgeniy.

Former Member
0 Kudos

Hello.

Try commenting out the following lines at the end of the method:


call method lcl_fill_data=>ZMT_DESIGN_PDF_RES

     importing

       out = OUTPUT.


Former Member
0 Kudos

Hi Binnari,


   method ZDT_DESIGN_PDF_RES_DMS_PATH.

     out-BP_NUMBER = `String 5`. "#EC NOTEXT

     out-PATH = `String 6`. "#EC NOTEXT

   endmethod.

endclass.

I don't know that much ABAP. But in the code you are passing constants. Please check it.

Correct me if i am wrong.

Regards,

Suhale Shaik.