# Web services steps

[PDI jobs and transformations](/pdia-data-integration/10.2-data-integration/data-integration-perspective-in-the-pdi-client/basic-concepts-of-pdi.md) can interact with a variety of Web services through specialized steps. How you use these steps, and which ones you use, is largely determined by your definition of Web services. The most commonly used Web services steps are:

* [Web Service Lookup](http://wiki.pentaho.com/display/EAI/Web+services+lookup)
* [Modified Java Script Value](/pdia-data-integration/10.2-data-integration/pdi-transformation-steps-reference-overview/modified-java-script-value.md)
* [RSS Input](http://wiki.pentaho.com/display/EAI/RSS+Input)
* [HTTP Post](http://wiki.pentaho.com/display/EAI/HTTP+Post)

The Web Service Lookup step is useful for selecting and setting input and output parameters via WSDL, but only if you do not need to modify the SOAP request. You can see this step in action in the `Web Services - NOAA Latitude and Longitude.ktr` sample transformation included with PDI in the `/data-integration/samples/transformations/` directory.

There are times when the SOAP message generated by the Web Service Lookup step is insufficient. Many Web services require the security credentials be placed in the SOAP request headers. There may also be a need to parse the response XML to get more information than the response values provide (such as namespaces). In cases like these, you can use the Modified Java Script Value step to create whatever SOAP envelope you need. You would then hop to an HTTP Post step to accept the SOAP request through the input stream and post it to the Web service, then hop to another Modified Java Script Value step to parse the response. The `General - Annotated SOAP Web Service call.ktr` sample in the `/data-integration/samples/transformations/` directory shows this theory in practice.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.pentaho.com/pdia-data-integration/10.2-data-integration/data-integration-perspective-in-the-pdi-client/advanced-topics-pdi-perspective/web-services-steps.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
