nifi-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Bruce Jackman <>
Subject RE: SOAP Service through InvokeHTTP
Date Mon, 26 Mar 2018 21:26:13 GMT
Mike is correct, Put your SOAP XML in the body (I use a ReplaceText Processor), add your Attributes
to Send and then Invoke using the correct URL:
Here is the SOAP section from one of my flows:

Step 1) Replace Text Processor
	Search Value	(?s)(^.*$)
	Replacement Value <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi=""
xmlns:xsd="" xmlns:soap="">
<soap:Header> <ApiServiceHeader xmlns="http://xxxxxxx"> <UserName>${UserName}</UserName>
<Password>${Password}</Password> <ClientToken>${ClientToken}</ClientToken>
<Client>${Client}</Client> </ApiServiceHeader> </soap:Header> <soap:Body>
<GetBuildingsDataRequest xmlns="http://xxxxxxx"> <OrderNumber>${OrderNumber}</OrderNumber>
<LastChangedDate>${now():format("yyyy-MM-dd'T'hh:mm:ss")}</LastChangedDate> </GetBuildingsDataRequest>
</soap:Body> </soap:Envelope>
	Character Set 	UTF-8
	Maximum Buffer Size	1 MB
	Replacement Strategy	Regex Replace
	Evaluation Mode	Entire text

Step 2) Update Attribute: (may not be necessary for your flow)
	Store State	Do not store state
	Stateful Variables Initial Value	No value set
	SoapAction	${SoapActionRoot}SubmitGetBuildingsData

Step 3) Invoke HTTP
	Remote URL	https://XXXXXX\WebDeliveryMembersServices/DataDeliveryServices.asmx
	SSL Context Service	No value set
	Connection Timeout	30 min
	Read Timeout		30 min
	Include Date Header	True
	Follow Redirects	True
	Attributes to Send	(Host|SoapAction)
	Basic Authentication Username	No value set
	Basic Authentication Password	No value set
	Proxy Host	No value set
	Proxy Port	No value set
	Proxy Username	No value set
	Proxy Password		No value set
	Put Response Body In Attribute	No value set
	Max Length To Put In Attribute	2048
	Use Digest Authentication	false
	Always Output Response	false
	Trusted Hostname	No value set
	Add Response Headers to Request	false
	Content-Type	text/xml; charset=utf-8
	Send Message Body	true
	Use Chunked Encoding	false
	Penalize on "No Retry"	false

It was pretty easy once I got the Xml structure correct.

Hope this helps

-----Original Message-----
From: Mike Thomsen [] 
Sent: Saturday, March 24, 2018 4:17 AM
Subject: Re: SOAP Service through InvokeHTTP

Been a while since I've done anything with SOAP, but the way I remember it is it's just a
POST operation with a XML payload at the end of the day. If you have configured the endpoint
properly in the processor's URL property and set it to do a POST, the *flowfile content* should
be where you put the SOAP request body. In the example of SO, it looked like you were using
a dynamic property to store the soap:Envelope segment, and I don't think that's going to work.
Let me know if you make any progress with the method I suggested.


On Fri, Mar 23, 2018 at 5:55 PM, Code Novice <> wrote:

> I've only just subscribed to the mailing list and 
> today was my first time even knowing that a thing like 'maling lists' 
> existed.
> Regardless, I'm posting my question in hopes to seek out how you 
> eventually managed to get your InvokeHTTP Processor to work with SOAP 
> as I have not yet been able to do so.
> I posted my original question on this matter on Stackoverflow  here
> <
> to-use-invokehttp-processor-with-soap>
> . I also referenced this post as it is the only place I am seeing 
> somebody use the InvokeHTTP with SOAP.
> I'm using SOAPUI to verify that everything works and it does as I am 
> getting the appropriate XML response back. However I am unable to 
> accomplish this in NiFi. My guess is that I don't know what to call my 
> dynamic properties. I also don't fully understand what data I would 
> add to the Value of my dynamic properties.
> <
> png>
> --
> Sent from:
View raw message