Expand my Community achievements bar.

SOLVED

PartnerGetIntegrationsDetail Error

Avatar

Level 1

Hi,

We are experiencing a problem in our integration with Adobe Analytics, in particular when we try to access Omniture API by means of a client. As far as we know this was working successfully since 2013 but now it is not.

I am posting here because we tried to do by support without success.

Let me give you additional details:

  • The endpoints we try to access are https://api-sbx1.omniture.com/genesis/i/3.1/ and https://api.omniture.com/genesis/i/3.1/
  • The exception occurs when calling PartnerGetIntegrationsDetail method from GenesisIntegrationWebServicePortTypeClient class
  • The actual error message is:
    • System.ServiceModel.CommunicationException: 'Server returned an invalid SOAP Fault.'
    • XmlException: Element 'faultstring' with namespace name '' was not found. Line 6, position 117.
This issue interferes with our business since we are not able to track data that is extremely valuable for us. Please, could you confirm us that our integration is active and that the settings I put above are correct?

Thanks in advance, don't hesitate in asking us for more details in case you needed them.

1 Accepted Solution

Avatar

Correct answer by
Employee

Hi @uz owl,

I have few queries/concerns:

- Is this Integration with Adobe Analytics from Adobe Campaign Classic, I believe yes because Adobe Campaign Standard doesn't work on explicit API Calls being fired.

- While the https://api.omniture.com/genesis/i/3.1  Endpoint is still active, I am not sure what https://api-sbx1.omniture.com/genesis/i/3.1  refers to.

The default Javascript code within Campaign Instance too refers to https://api.omniture.com/genesis/i/3.1only.

- Is "PartnerGetIntegrationsDetail" method part of legacy API structure, since I only see "PartnerGetIntegrations" method in built-in Javascript Codes now.

- Is there a documentation I could refer to for Methods like: PartnerGetIntegrationsDetail and https://api-sbx1.omniture.com/genesis/i/3.1 which might give us some idea of your concerns.

I am unable to locate any such thing in recent documentation.

- Kindly confirm what exactly is being attempted from your side, are you trying to send data from Campaign to Analytics.

If yes, is there an equivalent External Account for the same. Or is the External Account connection being done manually via API Calls?

View solution in original post

2 Replies

Avatar

Correct answer by
Employee

Hi @uz owl,

I have few queries/concerns:

- Is this Integration with Adobe Analytics from Adobe Campaign Classic, I believe yes because Adobe Campaign Standard doesn't work on explicit API Calls being fired.

- While the https://api.omniture.com/genesis/i/3.1  Endpoint is still active, I am not sure what https://api-sbx1.omniture.com/genesis/i/3.1  refers to.

The default Javascript code within Campaign Instance too refers to https://api.omniture.com/genesis/i/3.1only.

- Is "PartnerGetIntegrationsDetail" method part of legacy API structure, since I only see "PartnerGetIntegrations" method in built-in Javascript Codes now.

- Is there a documentation I could refer to for Methods like: PartnerGetIntegrationsDetail and https://api-sbx1.omniture.com/genesis/i/3.1 which might give us some idea of your concerns.

I am unable to locate any such thing in recent documentation.

- Kindly confirm what exactly is being attempted from your side, are you trying to send data from Campaign to Analytics.

If yes, is there an equivalent External Account for the same. Or is the External Account connection being done manually via API Calls?

Avatar

Level 1

We're using this method to get the integrationMappings:

public integrationData GetAdobeIntegration(Guid integrationCode)

    {

        GenesisIntegrationWebServicePortTypeClient client = GenesisWS.GetClient(AdobeUserName, AdobeSecret, UZGlobal.constants.AdobeEndPoint);      

        integrationData[] integrations = client.PartnerGetIntegrationsDetail("");

       

        integrationData integrationAdobe = integrations.Where(e => e.integrationValues.Single().name == "IntegrationCode" && e.integrationValues.Single().value != null && e.integrationValues.Single().value.ToString().ToUpper() == integrationCode.ToString().ToUpper()).FirstOrDefault();

        return integrationAdobe;

    }

then:

integrationData integrationAdobe = GetAdobeIntegration(integrationCode);

            XDocument xDocMergedVars = new XDocument();

      

                XDocument xDocAdobeEVars = new XDocument(new XDeclaration("1.0", "UTF-8", "yes"),

                    new XElement("evars",

                    from var in integrationAdobe.integrationMappings

                    select new XElement("evar",

                        new XElement("id", var.sc_field),

                        new XElement("name", !string.IsNullOrEmpty(var.feature_name) ? var.feature_name : var.metric),

                        new XElement("CondDisabled", var.metric == "UZ ID" ? "1" : "0"),

                        new XElement("idx", idx++)

                        )));