0

If I manual trigger/run the activity the destination Data Extension is being filled correctly. However when try a SOAP request using curl, nothing happens... I've tried 2 different SoapAction values. I'm thinking I'm using the incorrect SOAPAction ...

The request is done using curl like this:

curl --header "Content-Type: text/xml;charset=UTF-8" --header "SOAPAction:'Start'" --header
"Host: ${host}" --header "Connection: Keep-Alive" --data "${runQuery}" ${soapEndpoint}

The xml for the request is:

<soap:Envelope xmlns:soap='http://schemas.xmlsoap.org/soap/envelope/' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns:xsd='http://www.w3.org/2001/XMLSchema'  xmlns:wsa='http://schemas.xmlsoap.org/ws/2004/08/addressing'>
            <soap:Body>
              <PerformRequestMsg xmlns="http://exacttarget.com/wsdl/partnerAPI">
               <Action>Start</Action>
               <Definitions>
                <ns1:Definition xmlns:ns1="http://exacttarget.com/wsdl/partnerAPI" xsi:type="ns1:QueryDefinition">
                 <ns1:PartnerKey xsi:nil="true"/>
                 <ns1:ModifiedDate xsi:nil="true"/>
                 <ns1:ObjectID>someid</ns1:ObjectID>
                </ns1:Definition>
               </Definitions>
              </PerformRequestMsg>
            </soap:Body>
    </soap:Envelope>

When in the curl command the header is like "SOAPAction:'Update'" , The response is (OK):

<?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"><soap:Header><wsa:Action>UpdateResponse</wsa:Action><wsa:MessageID>urn:uuid:c6aae5c2-3fe3-4394-bccf-dae0319ca3b0</wsa:MessageID><wsa:RelatesTo>urn:uuid:a825af07-b581-455c-973b-9613ed9ca4fb</wsa:RelatesTo><wsa:To>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</wsa:To><wsse:Security><wsu:Timestamp wsu:Id="Timestamp-60b5a864-e8b1-4381-aff6-17e7da41322d"><wsu:Created>2018-08-21T14:23:37Z</wsu:Created><wsu:Expires>2018-08-21T14:28:37Z</wsu:Expires></wsu:Timestamp></wsse:Security></soap:Header><soap:Body><UpdateResponse xmlns="http://exacttarget.com/wsdl/partnerAPI"><RequestID>d876ab60-aceb-4d77-9900-68de90076d90</RequestID><OverallStatus>OK</OverallStatus></UpdateResponse></soap:Body></soap:Envelope>

When --header "SOAPAction:'Start'" response is (error):

<faultcode>soap:Client</faultcode><faultstring>Server did not recognize the value of HTTP Header SOAPAction: 'Start'.</faultstring><

From the documentation I understood there's a SoapAction required and should be 'Start'

2 Answers 2

1

It's a tag value which should be "Start" and your have it: <Action>Start</Action>. The SOAPAction is a different one. It's a header. Try using a header like this: SOAPAction: Perform. This should work. Thanks @pkharries for advice

2
  • * not working .
    – mario ruiz
    Aug 22, 2018 at 18:39
  • @blank use like this SoapAction:Perform then try this
    – Ravi.A
    Aug 23, 2018 at 5:16
0

The required header is SOAPAction: "Perform"

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .