从SAP的xml请求中获取JSON请求时遇到问题

时间:2015-07-08 11:12:40

标签: json xml ibm-mobilefirst sap

我的要求是为以下xml创建一个JSON,并作为POST请求发送到SAPNetweaver适配器。

SAP终点
URI:/ sap / opu / odata / sap / ZPM_MOBILE_SRV / WOHeaderSet

方法:POST
有效载荷:1次操作,2种材料

包含两个有效负载操作和材料的XML请求 1.操作:WOHeaderOperation 2. materail:WOHeaderMaterial

此代码基本上包含两个第一部分WOHeaderOperation,第二部分包含WOHeaderMaterial

    <?xml version="1.0" encoding="UTF-8"?>
<atom:entry xmlns:atom="http://www.w3.org/2005/Atom" xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata">
   <atom:content type="application/xml">
      <m:properties>
         <d:Aufpl>1000000053</d:Aufpl>
         <d:GltrpTms>1425887760</d:GltrpTms>
         <d:GstrpTms>1425887760</d:GstrpTms>
         <d:Auart>PM02</d:Auart>
         <d:Ktext>Test for MAMBO 2</d:Ktext>
         <d:Iwerk>KACT</d:Iwerk>
         <d:Ingrp>KP</d:Ingrp>
         <d:Gewrk>10000359</d:Gewrk>
         <d:Tplnr>KAC-0P5010-PM1</d:Tplnr>
         <d:Arbpl>10000359</d:Arbpl>
      </m:properties>
   </atom:content>
   <atom:link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/WOHeaderOperation" type="application/atom+xml;type=feed" title="WOHeaderOperation">
      <m:inline>
         <atom:feed>
            <atom:entry>
               <atom:content type="application/xml">
                  <m:properties>
                     <d:Vornr>0010</d:Vornr>
                     <d:Ltxa1>Operation 1</d:Ltxa1>
                     <d:Indet>2</d:Indet>
                  </m:properties>
               </atom:content>
            </atom:entry>
         </atom:feed>
      </m:inline>
   </atom:link>
   <atom:link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/WOHeaderMaterial" type="application/atom+xml;type=feed" title="WOHeaderMaterial">
      <m:inline>
         <atom:feed>
            <atom:entry>
               <atom:content type="application/xml">
                  <m:properties>
                     <d:Vornr>0010</d:Vornr>
                     <d:Posnr>0010</d:Posnr>
                     <d:Matnr>340</d:Matnr>
                     <d:Werks>KACT</d:Werks>
                     <d:Bdmng>7.000</d:Bdmng>
                     <d:Meins>PCE</d:Meins>
                     <d:Postp>L</d:Postp>
                  </m:properties>
               </atom:content>
            </atom:entry>
            <atom:entry>
               <atom:content type="application/xml">
                  <m:properties>
                     <d:Vornr>0010</d:Vornr>
                     <d:Posnr>0020</d:Posnr>
                     <d:Matnr>338</d:Matnr>
                     <d:Werks>KACT</d:Werks>
                     <d:Bdmng>10.000</d:Bdmng>
                     <d:Meins>PCE</d:Meins>
                     <d:Postp>L</d:Postp>
                  </m:properties>
               </atom:content>
            </atom:entry>
            <atom:entry>
               <atom:content type="application/xml">
                  <m:properties>
                     <d:Vornr>0010</d:Vornr>
                     <d:Posnr>0030</d:Posnr>
                     <d:Matnr>336</d:Matnr>
                     <d:Werks>KACT</d:Werks>
                     <d:Bdmng>10.000</d:Bdmng>
                     <d:Meins>PCE</d:Meins>
                     <d:Postp>L</d:Postp>
                  </m:properties>
               </atom:content>
            </atom:entry>
         </atom:feed>
      </m:inline>
   </atom:link>
</atom:entry>

1 个答案:

答案 0 :(得分:0)

如果您希望它是JSON,请按原样请求:

GET /sap/opu/odata/sap/ZPM_MOBILE_SRV/WOHeaderSet?$format=json

但是Gateway会同时接受JSON和XML,所以除了你自己的偏好之外别无其他。