2014-01-13 4 views
0

Bellow - это XML POST и ответ, который я получаю от серверов отдела продаж. Я пытаюсь добавить приложение к учетной записи, но я продолжаю получать INVALID_TYPE.INVALID_TYPE при создании приложения Salesforce

Я использую NuSoap вместо библиотеки SalesForce PHP, потому что сервер, на котором я работаю, не имеет расширения SOAP.

У меня нет проблем с входом и исправлением библиотеки, чтобы она работала, но я не знаю, что случилось с XML, чтобы исправить эту проблему. Я получаю информацию о запросе отлично.

Вся помощь и советы оценены!

<?xml version="1.0" encoding="ISO-8859-1"?> 
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"> 
<SOAP-ENV:Header> 
    <nu2113:SessionHeader xmlns:nu2113="urn:enterprise.soap.sforce.com"> 
     <sessionId>00Di00000{---cutting out for privacy--}UrYmByvpO5yRWIK0Gmy</sessionId> 
    </nu2113:SessionHeader> 
</SOAP-ENV:Header> 
<SOAP-ENV:Body> 
    <create xmlns="urn:enterprise.soap.sforce.com"> 
     <sObject> 
      <type xsi:type="xsd:string">Attachment</type> 
      <fieldsToNull> 
       <elementName xsi:type="xsd:string">fieldsToNull</elementName> 
       <values xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="xsd:string[5]"> 
        <item xsi:type="xsd:string">OwnerId</item> 
        <item xsi:type="xsd:string">IsPrivate</item> 
        <item xsi:type="xsd:string">IsPartnerShared</item> 
        <item xsi:type="xsd:string">ConnectionSentId</item> 
        <item xsi:type="xsd:string">BodyLength</item> 
       </values> 
      </fieldsToNull> 
      <Id xsi:nil="true"/> 
      <ParentId xsi:type="xsd:string">001i000000JG17b</ParentId> 
      <Name xsi:type="xsd:string">Test document</Name> 
      <Description xsi:type="xsd:string">Test upload from WIN form</Description> 
      <ContentType xsi:type="xsd:string">.pdf</ContentType> 
      <Body xsi:type="xsd:string">hello</Body> 
     </sObject> 
    </create> 
</SOAP-ENV:Body> 
</SOAP-ENV:Envelope> 


HTTP/1.1 100 Continue 
HTTP/1.1 500 Server Error 
Date: Mon, 13 Jan 2014 15:49:56 GMT 
Content-Type: text/xml;charset=UTF-8 
Content-Length: 676 

<?xml version="1.0" encoding="UTF-8"?> 
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sf="urn:fault.enterprise.soap.sforce.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 
<soapenv:Body> 
    <soapenv:Fault> 
     <faultcode>sf:INVALID_TYPE</faultcode> 
     <faultstring>INVALID_TYPE: Must send a concrete entity type.</faultstring> 
     <detail> 
      <sf:InvalidSObjectFault xsi:type="sf:InvalidSObjectFault"> 
       <sf:exceptionCode>INVALID_TYPE</sf:exceptionCode> 
       <sf:exceptionMessage>Must send a concrete entity type.</sf:exceptionMessage> 
       <sf:row>-1</sf:row> 
       <sf:column>-1</sf:column> 
      </sf:InvalidSObjectFault> 
     </detail> 
    </soapenv:Fault> 
</soapenv:Body> 
</soapenv:Envelope> 

ответ

0

Эта линия может быть проблема:

<ContentType xsi:type="xsd:string">.pdf</ContentType> 

, что не является допустимым типом контента. попробуйте следующее:

<ContentType xsi:type="xsd:string">application/pdf</ContentType> 
+0

К сожалению, ничего не сделал. – kjones1876

+0

Такая же ошибка? вы поместили строку base64encoded в pdf-файл, который вы загружаете в '<Тело xsi: type =" xsd: string ">'? – Latheesan

+0

Да. Я сделал. Но я просто заменил его фиктивным текстом, потому что отображение 1MB PDF в b64 каждый раз, когда я обновлялся, был непрактичным. Знаете ли вы, что я вижу пример запроса «создать» в XML. Все документы просто показывают код Java/C#. Не сам XML. – kjones1876

 Смежные вопросы

  • Нет связанных вопросов^_^