Here I'll continue using the Book object as an example and explain how to call such web service with soapUI.
1. Create a web service for the Book example:
global class BookWebService{
webService static Id createBook(String name, Decimal price){
Book__c book=new Book__c(Name=name,Price__c=price);
insert book;
return book.Id;
}
}
2. Generate wsdl from the BookWebService class, and save it locally.
3. Generate partner wsdl from Develop --> API page, and save it locally.
4. In SoapUI, create a project by adding the above 2 wsdls.
5. Invoke login operation based on the partner wsdl with the credential to SFDC.
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:partner.soap.sforce.com"> <soapenv:Header> </soapenv:Header> <soapenv:Body> <urn:login> <urn:username>zzzzzzzzzzz</urn:username> <urn:password>xxxxxxxxxxx</urn:password> </urn:login> </soapenv:Body> </soapenv:Envelope>
6. Copy the sessionid from the response and make the input for the createBook web service:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:book="http://soap.sforce.com/schemas/class/BookWebService"> <soapenv:Header> <book:AllowFieldTruncationHeader> <book:allowFieldTruncation>true</book:allowFieldTruncation> </book:AllowFieldTruncationHeader> <book:SessionHeader> <book:sessionId>00DE0000000adhV!ARQAQLsTZiERi36QEprxQx0F_xI826qAM9W4AQNwCdMnKO18GIrjijaRIvjFsnxYF148Rr_4EFknbzjwerkFhW7enghQPRCN</book:sessionId> </book:SessionHeader> </soapenv:Header> <soapenv:Body> <book:createBook> <book:name>Book Test</book:name> <book:price>100.10</book:price> </book:createBook> </soapenv:Body> </soapenv:Envelope>
7. Invoke the web service, and get the following response:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:book="http://soap.sforce.com/schemas/class/BookWebService"> <soapenv:Header> <book:AllowFieldTruncationHeader> <book:allowFieldTruncation>true</book:allowFieldTruncation> </book:AllowFieldTruncationHeader> <book:SessionHeader> <book:sessionId>00DE0000000adhV!ARQAQLsTZiERi36QEprxQx0F_xI826qAM9W4AQNwCdMnKO18GIrjijaRIvjFsnxYF148Rr_4EFknbzjwerkFhW7enghQPRCN</book:sessionId> </book:SessionHeader> </soapenv:Header> <soapenv:Body> <book:createBook> <book:name>Book Test</book:name> <book:price>100.10</book:price> </book:createBook> </soapenv:Body> </soapenv:Envelope>
8. Query SFDC with the returned Id:
No comments:
Post a Comment