[
https://issues.apache.org/jira/browse/NIFI-3536?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16066075#comment-16066075
]
ASF GitHub Bot commented on NIFI-3536:
--------------------------------------
Github user pvillard31 commented on a diff in the pull request:
https://github.com/apache/nifi/pull/1824#discussion_r124471364
--- Diff:
nifi-nar-bundles/nifi-soap-bundle/nifi-soap-processors/src/main/java/org/apache/nifi/processors/soap/GetSOAP.java
---
@@ -0,0 +1,508 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.nifi.processors.soap;
+
+import com.fasterxml.jackson.core.type.TypeReference;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import org.apache.axiom.om.OMAbstractFactory;
+import org.apache.axiom.om.OMElement;
+import org.apache.axiom.om.OMFactory;
+import org.apache.axiom.om.OMNamespace;
+import org.apache.axis2.AxisFault;
+import org.apache.axis2.Constants;
+import org.apache.axis2.addressing.EndpointReference;
+import org.apache.axis2.client.Options;
+import org.apache.axis2.client.ServiceClient;
+import org.apache.axis2.transport.http.HTTPConstants;
+import
org.apache.axis2.transport.http.impl.httpclient3.HttpTransportPropertiesImpl;
+import org.apache.nifi.annotation.behavior.DynamicProperty;
+import org.apache.nifi.annotation.behavior.InputRequirement;
+import org.apache.nifi.annotation.behavior.SupportsBatching;
+import org.apache.nifi.annotation.behavior.WritesAttribute;
+import org.apache.nifi.annotation.behavior.WritesAttributes;
+import org.apache.nifi.annotation.documentation.CapabilityDescription;
+import org.apache.nifi.annotation.documentation.Tags;
+import org.apache.nifi.components.PropertyDescriptor;
+import org.apache.nifi.components.ValidationContext;
+import org.apache.nifi.components.ValidationResult;
+import org.apache.nifi.components.Validator;
+import org.apache.nifi.flowfile.FlowFile;
+import org.apache.nifi.flowfile.attributes.CoreAttributes;
+import org.apache.nifi.logging.ComponentLog;
+import org.apache.nifi.processor.AbstractProcessor;
+import org.apache.nifi.processor.ProcessContext;
+import org.apache.nifi.processor.ProcessSession;
+import org.apache.nifi.processor.ProcessorInitializationContext;
+import org.apache.nifi.processor.Relationship;
+import org.apache.nifi.processor.exception.ProcessException;
+import org.apache.nifi.processor.util.StandardValidators;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+@SupportsBatching
+@InputRequirement(InputRequirement.Requirement.INPUT_ALLOWED)
+@Tags({"SOAP", "Get", "Ingest", "Ingress"})
+@CapabilityDescription(
+ "Execute provided request against the SOAP endpoint. The result
will be left in it's orginal form and all " +
+ "headers that are returned will be written as attributes to the
resulting flow file.")
+@WritesAttributes({@WritesAttribute(attribute = "getsoap.status.code",
description = "The status code that is returned"),
+ @WritesAttribute(attribute = "getsoap.status.message", description
= "The status message that is returned"),
+ @WritesAttribute(attribute = "getsoap.request.wsdl_url",
description = "The request WSDL URL"),
+ @WritesAttribute(attribute = "getsoap.request.method", description
= "The request method"),
+ @WritesAttribute(attribute = "mime.type", description = "Sets mime
type to text/xml")})
+@DynamicProperty(name = "The name of a input parameter the needs to be
passed to the SOAP method being invoked.",
+ value = "The value for this parameter '=' and ',' are not
considered valid values and must be escaped . " +
+ "Note, if the value of parameter needs to be an array the
format should be key1=value1,key2=value2. ",
+ description = "The name provided will be the name sent in the SOAP
method, therefore please make sure " +
+ "it matches the wsdl documentation for the SOAP
service being called. In the case of arrays " +
+ "the name will be the name of the array and the
key's specified in the value will be the element " +
+ "names passed.")
+
+public class GetSOAP extends AbstractProcessor {
+
+ protected static final PropertyDescriptor ENDPOINT_URL = new
PropertyDescriptor
+ .Builder()
+ .name("endpoint-url")
+ .displayName("Endpoint URL")
+ .description("The endpoint url that hosts the web service(s)
that should be called.")
+ .required(true)
+ .expressionLanguageSupported(false)
--- End diff --
I think expression language should be supported on almost all the
properties: with the variable registry, it can be used to externalize values
that would be different between environments, also, since this processor can
accept incoming flow files, this could be read from the attributes of the flow
files.
> Add GetSOAP Processor
> ---------------------
>
> Key: NIFI-3536
> URL: https://issues.apache.org/jira/browse/NIFI-3536
> Project: Apache NiFi
> Issue Type: New Feature
> Reporter: Andrew Psaltis
> Assignee: Andrew Psaltis
>
> Although it may seem like everyone is now using REST or at least RESTful
> services there still remains a need for many enterprises to interact with
> SOAP endpoints. This JIRA is for a new processor that supports interacting
> with SOAP endpoints.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)