rpgle程序的Post方法webservice调用

问题描述:

请帮我解决这个问题。rpgle程序的Post方法webservice调用

我已经用rpgle写了post方法web服务程序。我将收到采购订单的xml输入。如果进程成功意味着,我应该返回确认作为一个XML响应。在这里,我的问题是,我已经声明项目数据结构为dim(9)的数组。所以如果项目也空白,web服务为空白项目生成xml。我不知道如何控制。 有没有其他方法可以在程序或Web服务部署中进行控制?请帮助

<?xml version="1.0" encoding="UTF-8" standalone="yes"?> 
<WBSRVGET5Result> 
    <BROKERACKNOWLEDGEMENT> 
     <IDENTIFICATION> 
      <DATE>2017-06-12T08:33:25</DATE> 
      <FROMORG_ID>xxxxx</FROMORG_ID> 
      <MESSAGEPROTOCOL_ID>PurchaseOrder</MESSAGEPROTOCOL_ID> 
      <SENDERORG_ID>xxxxx</SENDERORG_ID> 
      <TOORG_ID>Vendor Name here</TOORG_ID> 
     </IDENTIFICATION> 
     <ORDERHEADER> 
      <ACKNOWLEDGEMENTTYPE></ACKNOWLEDGEMENTTYPE> 
      <BACKORDEROK>0</BACKORDEROK> 
      <BROKERCREATEDDATE>2017-06-09</BROKERCREATEDDATE> 
      <BROKERORDERID>09442000</BROKERORDERID> 
      <CUSTOMERPONUMBER>997545</CUSTOMERPONUMBER> 
      <FREIGHTPAYMENTMETHOD>P</FREIGHTPAYMENTMETHOD> 
      <OVERALLPROCESSSTATUS>P</OVERALLPROCESSSTATUS> 
      <REQUESTEDSHIPDATE>2017-08-21</REQUESTEDSHIPDATE> 
      <SHIPMETHOD>90</SHIPMETHOD> 
      <SHIPPINGINSTRUCTIONS></SHIPPINGINSTRUCTIONS> 
      <SUBSTITUTIONOK>0</SUBSTITUTIONOK> 
      <VENDORNUMBER>0090000484</VENDORNUMBER> 
      <VENDORORDERID></VENDORORDERID> 
      <SOLDTO> 
       <SOLDTOADDRESS1>PO BOX 808</SOLDTOADDRESS1> 
       <SOLDTOADDRESS2></SOLDTOADDRESS2> 
       <SOLDTOCITY>WABASSO</SOLDTOCITY> 
       <SOLDTOCONTACTNAME>SHIR BARTON</SOLDTOCONTACTNAME> 
       <SOLDTOCOUNTRY>(77</SOLDTOCOUNTRY> 
       <SOLDTOEMAIL></SOLDTOEMAIL> 
       <SOLDTOFAX>(772)589-5019</SOLDTOFAX> 
       <SOLDTONAME>CITY DSP</SOLDTONAME> 
       <SOLDTOPHONE>(772)589-5835</SOLDTOPHONE> 
       <SOLDTOSTATE>FL</SOLDTOSTATE> 
       <SOLDTOZIP>32970</SOLDTOZIP> 
      </SOLDTO> 
      <SHIPTO> 
       <BROKERSHIPTONUMBER>66981</BROKERSHIPTONUMBER> 
       <SHIPTOADDRESS1>9080 N US 1</SHIPTOADDRESS1> 
       <SHIPTOADDRESS2></SHIPTOADDRESS2> 
       <SHIPTOCITY>WABASSO</SHIPTOCITY> 
       <SHIPTOCONTACTNAME>ROCKURS LDSP</SHIPTOCONTACTNAME> 
       <SHIPTOCOUNTRY>US</SHIPTOCOUNTRY> 
       <SHIPTOEMAIL>grower.com</SHIPTOEMAIL> 
       <SHIPTOFAX>(772)589-5019</SHIPTOFAX> 
       <SHIPTONAME>ROCK CITY NURS LDSP</SHIPTONAME> 
       <SHIPTOPHONE>(772)589-5835</SHIPTOPHONE> 
       <SHIPTOSTATE>FL</SHIPTOSTATE> 
       <SHIPTOZIP>32970</SHIPTOZIP> 
      </SHIPTO> 
     </ORDERHEADER> 
     <ORDERDETAILS> 
      <ITEM> 
       <BROKERLINEITEMNO>10</BROKERLINEITEMNO> 
       <BROKERMATERIALNO>4091391972084</BROKERMATERIALNO> 
       <COMMITTEDINVPONO></COMMITTEDINVPONO> 
       <CONFIRMEDQTY>168.0</CONFIRMEDQTY> 
       <LINEITEMCOMM></LINEITEMCOMM> 
       <LINEITEMSTATUS></LINEITEMSTATUS> 
       <MATERIALDESCRIPTION>EVOLVU BLUED 84/84 Tray</MATERIALDESCRIPTION> 
       <ORDERQTY>168.0</ORDERQTY> 
       <SCHEDULEDSHIPDATE>2017-08-21</SCHEDULEDSHIPDATE> 
       <VENDORMATERIALNO>4091391972084</VENDORMATERIALNO> 
      </ITEM> 
      <ITEM> 
       <BROKERLINEITEMNO>11</BROKERLINEITEMNO> 
       <BROKERMATERIALNO>4091391972083</BROKERMATERIALNO> 
       <COMMITTEDINVPONO></COMMITTEDINVPONO> 
       <CONFIRMEDQTY>128.0</CONFIRMEDQTY> 
       <LINEITEMCOMM></LINEITEMCOMM> 
       <LINEITEMSTATUS></LINEITEMSTATUS> 
       <MATERIALDESCRIPTION>EVOLD 84/84 Tray</MATERIALDESCRIPTION> 
       <ORDERQTY>128.0</ORDERQTY> 
       <SCHEDULEDSHIPDATE>2017-08-21</SCHEDULEDSHIPDATE> 
       <VENDORMATERIALNO>4091391972084</VENDORMATERIALNO> 
      </ITEM> 
      <ITEM> 
       <BROKERLINEITEMNO>12</BROKERLINEITEMNO> 
       <BROKERMATERIALNO>4091391972085</BROKERMATERIALNO> 
       <COMMITTEDINVPONO></COMMITTEDINVPONO> 
       <CONFIRMEDQTY>198.0</CONFIRMEDQTY> 
       <LINEITEMCOMM></LINEITEMCOMM> 
       <LINEITEMSTATUS></LINEITEMSTATUS> 
       <MATERIALDESCRIPTION>EVOIND 84/84 Tray</MATERIALDESCRIPTION> 
       <ORDERQTY>198.0</ORDERQTY> 
       <SCHEDULEDSHIPDATE>2017-09-15</SCHEDULEDSHIPDATE> 
       <VENDORMATERIALNO>4091391972084</VENDORMATERIALNO> 
      </ITEM> 
      <ITEM> 
       <BROKERLINEITEMNO></BROKERLINEITEMNO> 
       <BROKERMATERIALNO></BROKERMATERIALNO> 
       <COMMITTEDINVPONO></COMMITTEDINVPONO> 
       <CONFIRMEDQTY></CONFIRMEDQTY> 
       <LINEITEMCOMM></LINEITEMCOMM> 
       <LINEITEMSTATUS></LINEITEMSTATUS> 
       <MATERIALDESCRIPTION></MATERIALDESCRIPTION> 
       <ORDERQTY></ORDERQTY> 
       <SCHEDULEDSHIPDATE></SCHEDULEDSHIPDATE> 
       <VENDORMATERIALNO></VENDORMATERIALNO> 
      </ITEM> 
      <ITEM> 
       <BROKERLINEITEMNO></BROKERLINEITEMNO> 
       <BROKERMATERIALNO></BROKERMATERIALNO> 
       <COMMITTEDINVPONO></COMMITTEDINVPONO> 
       <CONFIRMEDQTY></CONFIRMEDQTY> 
       <LINEITEMCOMM></LINEITEMCOMM> 
       <LINEITEMSTATUS></LINEITEMSTATUS> 
       <MATERIALDESCRIPTION></MATERIALDESCRIPTION> 
       <ORDERQTY></ORDERQTY> 
       <SCHEDULEDSHIPDATE></SCHEDULEDSHIPDATE> 
       <VENDORMATERIALNO></VENDORMATERIALNO> 
      </ITEM> 
      <ITEM> 
       <BROKERLINEITEMNO></BROKERLINEITEMNO> 
       <BROKERMATERIALNO></BROKERMATERIALNO> 
       <COMMITTEDINVPONO></COMMITTEDINVPONO> 
       <CONFIRMEDQTY></CONFIRMEDQTY> 
       <LINEITEMCOMM></LINEITEMCOMM> 
       <LINEITEMSTATUS></LINEITEMSTATUS> 
       <MATERIALDESCRIPTION></MATERIALDESCRIPTION> 
       <ORDERQTY></ORDERQTY> 
       <SCHEDULEDSHIPDATE></SCHEDULEDSHIPDATE> 
       <VENDORMATERIALNO></VENDORMATERIALNO> 
      </ITEM> 
      <ITEM> 
       <BROKERLINEITEMNO></BROKERLINEITEMNO> 
       <BROKERMATERIALNO></BROKERMATERIALNO> 
       <COMMITTEDINVPONO></COMMITTEDINVPONO> 
       <CONFIRMEDQTY></CONFIRMEDQTY> 
       <LINEITEMCOMM></LINEITEMCOMM> 
       <LINEITEMSTATUS></LINEITEMSTATUS> 
       <MATERIALDESCRIPTION></MATERIALDESCRIPTION> 
       <ORDERQTY></ORDERQTY> 
       <SCHEDULEDSHIPDATE></SCHEDULEDSHIPDATE> 
       <VENDORMATERIALNO></VENDORMATERIALNO> 
      </ITEM> 
      <ITEM> 
       <BROKERLINEITEMNO></BROKERLINEITEMNO> 
       <BROKERMATERIALNO></BROKERMATERIALNO> 
       <COMMITTEDINVPONO></COMMITTEDINVPONO> 
       <CONFIRMEDQTY></CONFIRMEDQTY> 
       <LINEITEMCOMM></LINEITEMCOMM> 
       <LINEITEMSTATUS></LINEITEMSTATUS> 
       <MATERIALDESCRIPTION></MATERIALDESCRIPTION> 
       <ORDERQTY></ORDERQTY> 
       <SCHEDULEDSHIPDATE></SCHEDULEDSHIPDATE> 
       <VENDORMATERIALNO></VENDORMATERIALNO> 
      </ITEM> 
      <ITEM> 
       <BROKERLINEITEMNO></BROKERLINEITEMNO> 
       <BROKERMATERIALNO></BROKERMATERIALNO> 
       <COMMITTEDINVPONO></COMMITTEDINVPONO> 
       <CONFIRMEDQTY></CONFIRMEDQTY> 
       <LINEITEMCOMM></LINEITEMCOMM> 
       <LINEITEMSTATUS></LINEITEMSTATUS> 
       <MATERIALDESCRIPTION></MATERIALDESCRIPTION> 
       <ORDERQTY></ORDERQTY> 
       <SCHEDULEDSHIPDATE></SCHEDULEDSHIPDATE> 
       <VENDORMATERIALNO></VENDORMATERIALNO> 
      </ITEM> 
      <ITEM> 
       <BROKERLINEITEMNO></BROKERLINEITEMNO> 
       <BROKERMATERIALNO></BROKERMATERIALNO> 
       <COMMITTEDINVPONO></COMMITTEDINVPONO> 
       <CONFIRMEDQTY></CONFIRMEDQTY> 
       <LINEITEMCOMM></LINEITEMCOMM> 
       <LINEITEMSTATUS></LINEITEMSTATUS> 
       <MATERIALDESCRIPTION></MATERIALDESCRIPTION> 
       <ORDERQTY></ORDERQTY> 
       <SCHEDULEDSHIPDATE></SCHEDULEDSHIPDATE> 
       <VENDORMATERIALNO></VENDORMATERIALNO> 
      </ITEM> 
     </ORDERDETAILS> 
    </BROKERACKNOWLEDGEMENT> 
</WBSRVGET5Result> 
+0

你是如何实现网络服务?您是否在使用“集成Web服务”服务器或其他东西? – jmarkmurphy

+0

是的。使用集成的Web服务。宁静的方法 – Raju

如果它是一个IAS - 你应该为你的表+ '_length' 在你的情况下,它添加额外的输出参数(INT)名称; S somethink这样的:

dcl-ds ORDERDETAILS; 
    ITEM_LENGTH int(10); 
    ITEM likeds(XYZ) dim(9); 
end-ds; 

ITEM_LENGTH必须在项目定义之前:)

你没有看到在Web服务的响应这个变量 - 但你看到的只是ITEM_LENGTH元素对响应:)