我正在尝试在Talend中使用dayforce的API从报告中提取数据。
它的工作方式是我需要先获取客户端,然后进行身份验证,然后使用代码调用报告名称。
我坚持收购客户。 WSDL URL接受一个参数并返回以下内容:
<?xml version="1.0" encoding="ISO-8859-15"?>
<root>
<row>
<check><ns1:GetClientSiteUriResult xmlns:a="http://Dayforce/Services/Data" xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns1="http://Dayforce/Services/DayforceService"><a:Error><a:Code>0</a:Code><a:Message i:nil="true"/><a:StackTrace i:nil="true"/></a:Error><a:ServiceVersion>49.0.16090.6</a:ServiceVersion><a:Uri>https://748.dayforcehcm.com/Datasvc/DayforceService.svc</a:Uri></ns1:GetClientSiteUriResult></check>
</row>
</root>
如何从此响应中提取URI? URI为https://748.dayforcehcm.com/Datasvc/DayforceService.svc
如何使用此处的URI来调用Authenticate API方法。 Authenticate只接受公司名称,用户和密码的3个参数。我如何使用URI?
[statistics] connecting to socket on port 3578
[statistics] connected
Exception in thread "main" java.lang.Error: Unresolved compilation problems:
Syntax error, insert ")" to complete MethodInvocation
Syntax error, insert ";" to complete LocalVariableDeclarationStatement
at dayforce_apis.dayforce_employee_listing_0_1.Dayforce_Employee_Listing.tSOAP_1Process(Dayforce_Employee_Listing.java:330)
at dayforce_apis.dayforce_employee_listing_0_1.Dayforce_Employee_Listing.runJobInTOS(Dayforce_Employee_Listing.java:610)
at dayforce_apis.dayforce_employee_listing_0_1.Dayforce_Employee_Listing.main(Dayforce_Employee_Listing.java:467)
答案 0 :(得分:2)
你做错了什么,但是你的信息并不能很好地解释你输出信息的方式。
首先,您使用的是哪个版本的Talend? TOS或订阅工作室?哪个版本准确? 5.6,6.0,6.1,6.2?
其次,你必须至少记录一下你的工作。查询SOAP Web服务有多个组件:
我建议使用tSOAP,在这种情况下提供最大的自由。 您可以在此处找到有关组件和几个用例的信息: tSOAP Documentation
为了得到这个结果,你必须:
在这种情况下,使用tXMLMap并非绝对必要,如果您对XPath有更多经验,可以尝试使用tExtractXMLField组件。