문제

2013-04-17 4 views
0
, 내 조직의 enterprise.wsdl 파일은 Web Services Connector downloads page에서 wsc-23.jar을 다운로드하고이 들어있는 디렉토리에서 다음 명령이 개 다운로드 한 파일 실행 다운로드

:문제

java -classpath wsc-23.jar com.sforce.ws.tools.wsdlc enterprise.wsdl enterprise.jar 

[WSC23][wsdlc.run:348]Created temp dir: C:\Users\myName\AppData\Local\Temp\wsd 
lc-temp-215798849-dir 
[WSC23][wsdlc.<init>:110]Generating Java files from schema ... 
[WSC23][wsdlc.<init>:110]Generated 290 java files. 
[WSC23][wsdlc.compileTypes:298]Compiling to target default... 
cannot find symbol 
    symbol: class RecordType 
    location: package com.sforce.soap.enterprise.sobject 
cannot find symbol 
    symbol: class RecordType 
    location: package com.sforce.soap.enterprise.sobject 
cannot find symbol 
    symbol: class RecordType 
    location: package com.sforce.soap.enterprise.sobject 
cannot find symbol 
    symbol: class RecordType 
    location: package com.sforce.soap.enterprise.sobject 
cannot find symbol 
    symbol: class RecordType 
    location: package com.sforce.soap.enterprise.sobject 
Error: Compilation failed 

왜 클래스 RecordType 컴파일이 실패의 원인이 출력을 생성

?

+0

WSDL에' ...'이 있는지 확인할 수 있습니까? 나는 다른 객체가 RecordType을 찾고있는 가시성 문제라고 생각하지만, 당신은 WSDL에 RecordType 자체가 없다. – ryanbrainard

+0

@ryanbrainard 아니요, 해당 복합 유형은 WSDL에 없습니다. SalesForce가 내 조직에 나쁜 WSDL을 생성 했습니까? –

+0

가능합니다. 필자는 WSDL에서 ...'요소를 제거하고 동일한 문제를 재현했습니다. 아마도 Professional Edition을 사용하고 있습니까? PE의 레코드 유형 부족을 특별히 다루지 않는 버그가있을 수 있습니다 ?? SFDC 지원에 문제를 제기하는 것이 좋습니다. – ryanbrainard

답변

2

위의 주석에서 설명한 문제를 해결하려면 수동으로 RecordType 복합 유형을 WSDL에 추가하십시오. 제가 위에서 언급 한 바와 같이

<complexType name="RecordType"> 
    <complexContent> 
     <extension base="ens:sObject"> 
      <sequence> 
      <element name="BusinessProcessId" nillable="true" minOccurs="0" type="tns:ID"/> 
      <element name="CreatedBy" nillable="true" minOccurs="0" type="ens:User"/> 
      <element name="CreatedById" nillable="true" minOccurs="0" type="tns:ID"/> 
      <element name="CreatedDate" nillable="true" minOccurs="0" type="xsd:dateTime"/> 
      <element name="Description" nillable="true" minOccurs="0" type="xsd:string"/> 
      <element name="DeveloperName" nillable="true" minOccurs="0" type="xsd:string"/> 
      <element name="IsActive" nillable="true" minOccurs="0" type="xsd:boolean"/> 
      <element name="IsPersonType" nillable="true" minOccurs="0" type="xsd:boolean"/> 
      <element name="LastModifiedBy" nillable="true" minOccurs="0" type="ens:User"/> 
      <element name="LastModifiedById" nillable="true" minOccurs="0" type="tns:ID"/> 
      <element name="LastModifiedDate" nillable="true" minOccurs="0" type="xsd:dateTime"/> 
      <element name="Localization" nillable="true" minOccurs="0" type="tns:QueryResult"/> 
      <element name="Name" nillable="true" minOccurs="0" type="xsd:string"/> 
      <element name="NamespacePrefix" nillable="true" minOccurs="0" type="xsd:string"/> 
      <element name="SobjectType" nillable="true" minOccurs="0" type="xsd:string"/> 
      <element name="SystemModstamp" nillable="true" minOccurs="0" type="xsd:dateTime"/> 
      </sequence> 
     </extension> 
    </complexContent> 
</complexType> 

는, 이것은 WSDL 생성 버그 같은 소리 때문에 나뿐만 아니라 SFDC 지원에 티켓을 제출 권 해드립니다 : 여기 것처럼 보일 것입니다 것입니다.

+0

이 문제를 해결하기 위해 SFDC와 협력 중이며 당분간 귀하의 해결 방법이 효과적입니다. 감사! –