2013-10-15 1 views
0

На этой странице https://developers.google.com/search-appliance/documentation/64/feedsguide он говорит о входе XML-каналы, начиная с:Confused о различных GSA XML форматов подачи

<?xml version="1.0" encoding="ISO-8859-1"?> 
<!DOCTYPE gsafeed PUBLIC "-//Google//DTD GSA Feeds//EN" ""> 
<gsafeed> 
    <header> 
     <datasource>sample_feed</datasource> 
     <feedtype>full</feedtype> 
    </header> 
    <group> 
     <record url="http://www.localhost.test.com/" action="add" mimetype="text/html"> 
      <content><![CDATA[ ... 
    ...etc... 

Но как ни странно в разъеме SalesForce, выход в SOAP XSLT (который я считаю, затем отправляется в Google) выглядит следующим образом:

<?xml version="1.0" encoding="UTF-8" standalone="no"?> 
<documents> 
    <document> 
    <spiheaders> 
     <spiheader name="DEFAULT_MIMETYPE">text/html</spiheader> 
     <spiheader name="PROPNAME_ACTION">add</spiheader> 
     <spiheader name="PROPNAME_CONTENTURL">https://cs2.salesforce.com/500i0000002gIysAAE</spiheader> 
     <spiheader name="PROPNAME_DISPLAYURL">https://cs2.salesforce.com/500i0000002gIysAAE</spiheader> 
     <spiheader name="PROPNAME_DOCID">500i0000002gIysAAE</spiheader> 
     <spiheader name="PROPNAME_ISPUBLIC">true</spiheader> 
     <spiheader name="PROPNAME_MIMETYPE">text/html</spiheader> 
     <spiheader name="PROPNAME_SEARCHURL"/> 
     <spiheader name="PROPNAME_SECURITYTOKEN"/> 
    </spiheaders> 
    <metadata> 
     <meta name="CaseNumber">00001000</meta> 
    </metadata> 
    <content encoding="none"><![CDATA[ 
     ... 
...etc... 

Я считаю SaleForce сначала возвращает SOAP XML со своими полями, но разъем применяется XSLT по вашему выбору, чтобы преобразовать его в XML, предназначенный для Google Appliance.

Так же есть <gsafeed> только более новый диалект GSA над некоторыми более старыми <documents> диалектом?

Примечание: я выполнил поиск в google, но я продолжаю находить конкретный документ SalesForce. И поисковые термины, такие как «документы», не очень полезны.

ответ

1

То, что вы видите, является правильным. XML-канал, который отправляется в GSA, содержит записи. Будет подана одна запись на каждый документ, который будет подаваться.

Обычно, когда вы пишете настраиваемый соединитель, вы создаете список документов, содержащий метаданные документа (и контент, если это фид контента), передайте его в диспетчер коннекторов и преобразует его в фид и отправляет его в GSA. Второй фрагмент XML, который вы включили, выглядит как XML-представление такого списка документов.

Итак, чтобы ответить на ваш вопрос, No - gsafeed не является более новым диалектом GSA, на каком-то более древнем диалекте документов.

Посмотрите на Connector Developers Guide, если хотите более подробно.

+0

ОК, так что есть два совершенно разных формата XML для каждого документа, который кажется расточительным, кажется, что они выбрали тот или другой. Я ценю вашу ссылку на API-документ, но не нашел URL-адрес, который описывает формат XML (трудно найти, поскольку он использует общие слова), знаете ли вы, что этот URL-адрес? Вместо использования JAVA API для создания моих документов я использую XSLT из другого формата XML. Если у меня есть произвольный формат XML и XSL, я мог бы перевести его в любой формат, но, похоже, мне нужно будет вводить его в разные места в зависимости от формата, который я выбираю. Все еще немного смущен, но thx. –

+0

@MarkBennett, чтение между строками, которые вы используете с соединителем Google Salesforce. У меня не было большого воздействия на этот конкретный разъем, но вы попробовали [этот документ] (http://google-enterprise-connector-salesforce.googlecode.com/svn/trunk/projects/salesforce/docs/salesforce_connector. HTML # Configurereqxslt)? – BigMikeW