soapui 应用广泛
先提供soapui 软件的 的地址
链接:https://pan.baidu.com/s/1kWhXqg3 密码:vl6n
打开后,下一步下一步到结束。然后打开。
创建一个新的应用请参考链接
https://jingyan.baidu.com/article/0eb457e5360aa503f1a905ce.html
?

这里,点击 左侧 ‘request1’,然后在Body 中输入参数。
蓝色部分为自动生成,不要动。
这个接口主要是两个参数,一个是 system,一个是output。
注意:当前我这个接口是需要传递一个xml格式的字符串,注意语法为<![CDATA[ 这里是xml ]]>,这里需要注意:<exp:arg0>和<![CDATA... 之间不可有任何的其他字符,包括空格以及换行,否则解析xml会抛出异常,解析失败。当然如果是字符串或者数字类型比较简单,直接写参数就可以
在接口中,我传输一个xml报文,到RFC接口,然后再去解析xml ,输出到内表。
所以划线的地方的是xml 报文,注意xml报文不要有空行,以免报错:
举例:
<INPUT><HEADER><COMP_CODE>2050</COMP_CODE><DOC_TYPE>SA</DOC_TYPE><DOC_DATE>20171230</DOC_DATE><PSTNG_DATE>20171230</PSTNG_DATE><HEADER_TXT>ceshi</HEADER_TXT><REF_DOC_NO>AA</REF_DOC_NO><WAERS>RMB</WAERS><KURSF></KURSF><XREF1_HD>cankao1</XREF1_HD><XREF2_HD>cankao2</XREF2_HD><NUMPG></NUMPG><CCNUM></CCNUM></HEADER><LINES><LINE><SHKZG>S</SHKZG><HKONT>1001010000</HKONT><ZWLDW></ZWLDW><NAME1></NAME1><MWSKZ></MWSKZ><WRBTR>1000</WRBTR><DMBTR></DMBTR><SGTXT>zheshi2</SGTXT><XNEGP></XNEGP><ZUONR></ZUONR><KOSTL></KOSTL><AUFNR></AUFNR><POSID></POSID><BUDG_CODE>Z99</BUDG_CODE><FZHSID></FZHSID></LINE><LINE><SHKZG>H</SHKZG><HKONT>1001010000</HKONT><ZWLDW></ZWLDW><NAME1></NAME1><MWSKZ></MWSKZ><WRBTR>1000</WRBTR><DMBTR></DMBTR><SGTXT>zheshi2</SGTXT><XNEGP></XNEGP><ZUONR></ZUONR><KOSTL></KOSTL><AUFNR></AUFNR><POSID></POSID><BUDG_CODE>Z99</BUDG_CODE><FZHSID></FZHSID></LINE></LINES></INPUT>
在rfc 接口中 获取到的就是?<INPUT> 到</INPUT>之间的内容。
可以通过call?transformation 获取参数
示例代码:
*??try.
*??????call?transformation?ztysfi_xml2stru_kjpz_receive
*????????source?xml?i_xmldata
*????????result?root1?=?gs_header
*???????????????root2?=?gt_lines[].
*????catch?cx_transformation_error??into?gv_oref.
*??????gv_message?=??gv_oref->get_text(?).
*??????gv_success?=?'N'.
*??endtry.
<?sap.transform?simple?>
<tt:transform?xmlns:tt="http://www.sap.com/transformation-templates">
??<tt:root?name="ROOT1"/>
??<tt:root?name="ROOT2"/>
??<tt:template>
????<INPUT>
??????<HEADER>
????????<COMP_CODE>
??????????<tt:value?ref="ROOT1.COMP_CODE"/>
????????</COMP_CODE>
????????<DOC_TYPE>
??????????<tt:value?ref="ROOT1.DOC_TYPE"/>
????????</DOC_TYPE>
????????<DOC_DATE>
??????????<tt:value?ref="ROOT1.DOC_DATE"/>
????????</DOC_DATE>
????????<PSTNG_DATE>
??????????<tt:value?ref="ROOT1.PSTNG_DATE"/>
????????</PSTNG_DATE>
????????<HEADER_TXT>
??????????<tt:value?ref="ROOT1.HEADER_TXT"/>
????????</HEADER_TXT>
????????<REF_DOC_NO>
??????????<tt:value?ref="ROOT1.REF_DOC_NO"/>
????????</REF_DOC_NO>
????????<WAERS>
??????????<tt:value?ref="ROOT1.WAERS"/>
????????</WAERS>
????????<KURSF>
??????????<tt:value?ref="ROOT1.KURSF"/>
????????</KURSF>
????????<XREF1_HD>
??????????<tt:value?ref="ROOT1.XREF1_HD"/>
????????</XREF1_HD>
????????<XREF2_HD>
??????????<tt:value?ref="ROOT1.XREF2_HD"/>
????????</XREF2_HD>
????????<NUMPG>
??????????<tt:value?ref="ROOT1.NUMPG"/>
????????</NUMPG>
????????<CCNUM>
??????????<tt:value?ref="ROOT1.CCNUM"/>
????????</CCNUM>
??????</HEADER>
??????<LINES>
????????<tt:loop?name="LINE"?ref="ROOT2">
??????????<LINE>
????????????<SHKZG>
??????????????<tt:value?ref="$LINE.SHKZG"/>
????????????</SHKZG>
????????????<HKONT>
??????????????<tt:value?ref="$LINE.HKONT"/>
????????????</HKONT>
????????????<ZWLDW>
??????????????<tt:value?ref="$LINE.ZWLDW"/>
????????????</ZWLDW>
????????????<NAME1>
??????????????<tt:value?ref="$LINE.NAME1"/>
????????????</NAME1>
<!--????????????<ORT01>
??????????????<tt:value?ref="$LINE.ORT01"/>
????????????</ORT01>-->
????????????<MWSKZ>
??????????????<tt:value?ref="$LINE.MWSKZ"/>
????????????</MWSKZ>
????????????<WRBTR>
??????????????<tt:value?ref="$LINE.WRBTR"/>
????????????</WRBTR>
????????????<DMBTR>
??????????????<tt:value?ref="$LINE.DMBTR"/>
????????????</DMBTR>
????????????<SGTXT>
??????????????<tt:value?ref="$LINE.SGTXT"/>
????????????</SGTXT>
????????????<XNEGP>
??????????????<tt:value?ref="$LINE.XNEGP"/>
????????????</XNEGP>
????????????<ZUONR>
??????????????<tt:value?ref="$LINE.ZUONR"/>
????????????</ZUONR>
????????????<KOSTL>
??????????????<tt:value?ref="$LINE.KOSTL"/>
????????????</KOSTL>
????????????<AUFNR>
??????????????<tt:value?ref="$LINE.AUFNR"/>
????????????</AUFNR>
????????????<POSID>
??????????????<tt:value?ref="$LINE.POSID"/>
????????????</POSID>
????????????<BUDG_CODE>
??????????????<tt:value?ref="$LINE.BUDG_CODE"/>
????????????</BUDG_CODE>
????????????<FZHSID>
??????????????<tt:value?ref="$LINE.FZHSID"/> ????????????</FZHSID> ??????????</LINE> ????????</tt:loop> ??????</LINES> ????</INPUT> ??</tt:template> </tt:transform>