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="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <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 HTTP Method POST 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 Bruce -----Original Message----- From: Mike Thomsen [mailto:mikerthom...@gmail.com] Sent: Saturday, March 24, 2018 4:17 AM To: dev@nifi.apache.org 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. Mike On Fri, Mar 23, 2018 at 5:55 PM, Code Novice <tuxfa...@gmail.com> wrote: > I've only just subscribed to the dev@nifi.apache.org 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 > <https://stackoverflow.com/questions/49457764/nifi-how- > 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. > > <http://apache-nifi-developer-list.39713.n7.nabble.com/file/t939/SOAP. > png> > > > > -- > Sent from: http://apache-nifi-developer-list.39713.n7.nabble.com/ >