2017-10-11 178 views
0

請幫我解決這個問題。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

回答

0

如果它是一個IAS - 你應該爲你的表+ '_length' 在你的情況下,它添加額外的輸出參數(INT)名稱; S somethink這樣的:

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

ITEM_LENGTH必須在項目定義之前:)

你沒有看到在Web服務的響應這個變量 - 但你看到的只是ITEM_LENGTH元素對響應:)