As we know, the workday system itself is complex, and its published Web services (Web service) are many, and the schema defined in the Web Services (Web service) is complex. If you use axis or Xfire to generate stub code to call the Web service of its corresponding module, such as the human resource module, but the generated stub code is more complex, and the workday Web service itself is constantly upgrading, during the upgrade process , the information of its schema is constantly changing and adjusting process, then there is no kind of status quo way, the answer is affirmative. That is, by invoking the workday Web service in plain text (XML) +http protocol. Let's take an example of how the code example of the stored text is written, using the method of calling the employee lookup (employee find). The total is divided into two parts:
(1) Permission authentication for Web service
It assumes that its user name is: Test @test
The password is: xxxxxxx
The header of the message is divided into:
< Env:header > < wsse:security xmlns:soapenv = "http://schemas.xmlsoap.org/soap/envelope/" Xmlns:wsse = "Http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" Soapenv:mustunderstand = "1" > < Wsse:usernametoken > < Wsse:username >test @test </wsse:username > < Wsse:password Type = "Http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText" > Password : xxxxxxx </Wsse:password > </wsse:usernametoken > </wsse:securit Y > </env:header ><? XML version = "1.0" encoding = "UTF-8"?>< env:envelope xmlns:env = "http://schemas.xmlsoap.org/soap/envelope/" xmln s:xsd = "Http://www.w3.org/2001/XMLSchema" > < Env:header > < wsse:security xmlns:soapenv = "http://schemas.xmlsoap.org/soap/envelope/" Xmlns:wsse = "Http://docs.oasis-open.org/wss/2004/01/oa Sis-200401-wss-wssecurity-secext-1.0.xsd "Soapenv:mustunderstand =" 1 "> < Wsse:usernametoken > < wsse:username > Test @test </wsse:username > < Wsse:password Type = "Http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText" > x XXXXXX </wsse:password > </wsse:usernametoken > </wsse:security > </env:head Er >
(2) The message body portion of the Web service, invoking the Employee_find operation
< Env:body > < Wd:employee_find xmlns:wd = "urn:com.workday/bsvc" wd:version = "v22.1" > </wd:emp Loyee_find > </env:body >
(3) Find any HTTP third-party sending tool (or write an HTTP sender yourself), the above (1) and (2) of the information, as the HTTP message body, send out, you can get the query results.
How do I invoke Workday's Web service in plain text (XML) +http protocol?