Service WSO2迭代器从Workday Web服务请求多个页面
这是我对WD的SOAP请求:Service WSO2迭代器从Workday Web服务请求多个页面,service,proxy,iterator,wso2,Service,Proxy,Iterator,Wso2,这是我对WD的SOAP请求: <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wd="urn:com.workday/bsvc"> <soapenv:Header/> <soapenv:Body> <wd:Get_Workers_Request bsvc:version="v28.0"> &
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wd="urn:com.workday/bsvc">
<soapenv:Header/>
<soapenv:Body>
<wd:Get_Workers_Request bsvc:version="v28.0">
<!--Optional:-->
<wd:Response_Filter>
<!--Optional:-->
<wd:As_Of_Effective_Date>2017-07-07</wd:As_Of_Effective_Date>
<!--Optional:-->
<wd:As_Of_Entry_DateTime>2017-07-07</wd:As_Of_Entry_DateTime>
<!--Optional:-->
<wd:Page>1</wd:Page>
<!--Optional:-->
<wd:Count>20</wd:Count>
</wd:Response_Filter>
<!--Optional:-->
<wd:Response_Group>
<!--Optional:-->
<wd:Include_Personal_Information>true</wd:Include_Personal_Information>
</wd:Response_Group>
</wd:Get_Workers_Request>
</soapenv:Body>
</soapenv:Envelope>
2017-07-07
2017-07-07
1.
20
真的
我需要从该请求的响应XML中提取Total Pages属性,并使用WSO2代理服务遍历和请求所有页面。下面是具有Total pages属性的部分SOAP响应:
<wd:Response_Results>
<wd:Total_Results>1</wd:Total_Results>
<wd:Total_Pages>10</wd:Total_Pages>
<wd:Page_Results>1</wd:Page_Results>
<wd:Page>1</wd:Page>
</wd:Response_Results>
1.
10
1.
1.
当前返回第一页、转换并写入AWS S3存储桶的WSO2代理服务。我需要对此进行增强,以解析响应,从XML中获取Total Pages属性,遍历并请求所有后续页面,然后将结果聚合到单个CSV文件中
- 如何提取wd:Total_页面并创建迭代器
- 递增SOAP request wd:Page值并执行代理插入序列中所示的所有步骤
<?xml version="1.0" encoding="UTF-8"?>
<proxy xmlns="http://ws.apache.org/ns/synapse"
name="DWHumanResourceProxy"
startOnLoad="true"
statistics="disable"
trace="disable"
transports="https">
<target>
<inSequence>
<sequence key="SecurityHeader_WD_EIP_jjonesAMU3_Seq"/>
<switch source="$trp:SOAPAction">
<case regex=""Get_Workers"">
<log level="custom">
<property name="message" value="Get_Workers matched."/>
</log>
<call>
<endpoint key="WD_HumanResources_AMU3_Address_Endpoint"/>
</call>
<xslt description="DW Get Workers XSLT"
key="gov:trunk/xslt/DW_WD_HR_GetWorkers_All.xsl"/>
<property name="messageType"
scope="axis2"
type="STRING"
value="text/plain"/>
<property name="FORCE_SC_ACCEPTED"
scope="axis2"
type="STRING"
value="true"/>
<property name="OUT_ONLY" scope="default" type="STRING" value="true"/>
<property action="remove" name="Content-Encoding" scope="transport"/>
<amazons3.init>
<accessKeyId></accessKeyId>
<secretAccessKey></secretAccessKey>
<methodType>PUT</methodType>
<contentType>text/plain</contentType>
<addCharset>false</addCharset>
<host>s3.amazonaws.com</host>
<isXAmzDate>true</isXAmzDate>
<bucketName></bucketName>
</amazons3.init>
<amazons3.createObject>
<bucketUrl>http://s3.amazonaws.com</bucketUrl>
<objectName>WD_GetWorkers_All.csv</objectName>
</amazons3.createObject>
<log>
<property name="Service" value="AWS Connector test Called from GetWorkers..."/>
</log>
</case>
<default>
<log level="custom">
<property name="message" value="Invalid Action!"/>
</log>
</default>
</switch>
<respond/>
</inSequence>
<outSequence>
<send/>
</outSequence>
<faultSequence/>
</target>
<publishWSDL key="gov:/trunk/wsdls/workday/com/1.0.0/Workday_Human_Resources_DW.wsdl"/>
<description/>
</proxy>
放
文本/纯文本
假的
s3.amazonaws.com
真的
http://s3.amazonaws.com
WD_GetWorkers_All.csv