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>
答
如果它是一个IAS - 你应该为你的表+ '_length' 在你的情况下,它添加额外的输出参数(INT)名称; S somethink这样的:
dcl-ds ORDERDETAILS;
ITEM_LENGTH int(10);
ITEM likeds(XYZ) dim(9);
end-ds;
ITEM_LENGTH必须在项目定义之前:)
你没有看到在Web服务的响应这个变量 - 但你看到的只是ITEM_LENGTH元素对响应:)
你是如何实现网络服务?您是否在使用“集成Web服务”服务器或其他东西? – jmarkmurphy
是的。使用集成的Web服务。宁静的方法 – Raju