ContributionsMost RecentMost LikesSolutionsHosting a SOAP Service with SnapLogic A common question we get at SnapLogic is how to host a SOAP Service. One of our Solutions Engineering team solved this with Ultra Pipelines. See attached the PDF for details.Creating Soap Services Using Ultra Pipelines.pdf (718.6 KB) Re: Groundplex is not visible though the user has full permission Worth noting that this most often occurs when companies first start using SnapLogic. This is because the Snaplex is created in /shared, where users have Read / Write / Execute, but the default location for your first pipeline is in /projects/shared where users generally start with Read / Write but not execute. Re: Does anyone have experience of accessing files on a windows network file share? Hi Adrian, Are you using file:/// to access the share, or smb:/// ? Cheers Nic Re: Getting a 500 when post some raw json to a triggered pipeline This is likely the first snap in the pipeline failing due to no input - as per @eguo’s response, you’re not Posting anything when you do it through the browser. Would be good to see the pipeline logs and the pipeline itself to confirm, however. Re: Performing an Action when there is no data If you want to perform an action If and Only If no data is returned as a result of an action, you’ll need this. In essence, you’re saying “if nothing matches this filter, do (thing)”. It’s necessary because if you have a situation where no data is returned from a snap (whether a filter or a router or a REST Get or a SQL Select or …), the snaps following will not execute at all. This gives you the ability to handle that situation. Performing an Action when there is no data A common integration pattern is to do something when no data is received. For example, we might read a file, parse it, and find that no records meet some filter criteria. As a result, we might send an email, or insert a ticket into a ticket management system like ServiceNOW. However, in SnapLogic, this can be somewhat more difficult than it seems initially because of the streaming architecture. In fact, many snaps will not execute without input documents - rather hard to accomplish when there is no document to flow through: So, how can we take an action, even though there’s no document to run the snap? The trick is to make a document and force it into the stream with a Join Snap (set to Merge): Note in this figure that even though nothing flows into the top view of the Join Snap, it still produces an output. This enables us to use the Router snap to check whether or not a field that we know will exist in the source does in fact exist. If it does, we know that data has passed through the Filter snap and then been merged with the Sequence data. If it does not, we know that only the Sequence data has been passed through and therefore nothing made it through the Filter . Only one of these views will have anything pass through it. The magic here is in the Merge option in the Join snap. As long as it is receiving data on a view, it will output - even if it has nothing to ‘join’ to. Meanwhile, the Sequence snap will always output the number of documents that you set it to. In this case, only one is required. (This pipeline here: Do something after no doc filter_2017_04_26.slp (11.1 KB) ) Re: UNION: Preserve source data sequence In addition to Robin’s comment on this. If you have a source that doesn’t give you a ‘natural’ ordering, you can pass it through the Sequence snap to add a sequential value field. Then, later, you can use the Sort snap to put everything back in order. Re: Citizen Integrator Solution? My recommendation on this generally depends on how your existing dev/qa/production environments are set up. Shayne is correct - you can separate the processing infrastructure by Project Space, as well as separating access to data. However, it can become complex to manage the development lifecycle if you have some spaces that do need management, some that don’t need management, some that need a little management (and so on) all in the same org. Possible, but complex. It might be just plain simpler to put them in their own org. That will let you keep your citizen integrators completely separate from your fully productionised integrations and minimise the risk of, for example, pushing a integration through your development pipeline that doesn’t meet your standards. It will also give you more power to set up your project spaces so that you can have, again as an example, a structure like this: - Department - Staff Member - Staff Member 2 - Staff Member 3 - Department 2 - etc. etc. Useful Third Party Utilities None of these tools are “official” or truly supported. If it breaks, you get to keep the pieces. Disclaimer aside: I need help writing JSON Path Expressions First, re-evaluate why you are writing a JSON Path Expression. Try using a mapper, or several mappers to solve your problem. Understand how to use the Mapping Root in the Mapper. If you must, continue on. As per the docs, http://jsonpath.com/ is a good place to start. However, it can be a little tricky to use at times, and will occasionally stop live evaluating. Another site to consider is https://jsonpath.curiousconcept.com/. This one works quite well, but can be a touch opaque at times as to why things are failing. GitHub - json-path/JsonPath: Java JsonPath implementation is a good place to see examples of JSON Path in action. My JSON fails to parse and I don’t know why! http://json.parser.online.fr/ is a great graphical JSON Parser and will show you exactly where you’ve gone wrong. I want to see what SnapLogic is sending to a REST Endpoint (or set up a Mock REST endpoint) http://mockbin.org/bin/create lets you create a mock REST Endpoint and define the response. Make sure to set the response content-type header to application/json if you want to parse the results into a SnapLogic object. You can use http://mockbin.org/bin/(your random string here)/log to explore the requests that SnapLogic is making to your new “API”. I want to create a Mock SOAP Endpoint This is not for the faint of heart, in the cloud, anyway. The best way that I know of is https://getsandbox.com/. This is doubly true if you have a WSDL already. However, you will have to mess with your WSDL so that the bindings point to your new sandbox. Also please note that the free account on this site is time limited. If you have to create your own WSDL, the only one I know of is Free online WSDL generator. But, you’ll need to edit it so that it’s recognised by the getsandbox.com WSDL parser. I’m having trouble with Regular Expressions (Patterns) http://regexr.com is a good place to build patterns that are compatible with SnapLogic’s implementation of Regular Expressions. Have you got your own useful utility websites? Add them to the comments and I’ll edit them in with credit. Re: Using Windows Authentication with SQL Server Accounts The other thing to know about SQL Server accounts (that often comes up along with Windows Authentication), is the ability to connect to a specific instance of MSSQL running on the same server as another (multiple or named instances). In this case, the hostname should be specified as: servername/instancename Alternatively, the instance name can be specified in the url properties: URL Property Name: instanceName URL Property Value: <instanceName> Most crucial in either case is to not specify a port. If a port is specified, SnapLogic will simply connect to that port without checking with the Server Browser service first.