고급 사용자 지정 > ODataConnector를 사용한 Info*Engine 서비스 실행
  
ODataConnector를 사용한 Info*Engine 서비스 실행
이제 ThingWorx Navigate에서 OData 커넥터를 사용한 Info*Engine 작업 실행을 지원합니다. 사용자 지정 작업에 Info*Engine 작업이 사용되는 경우 OData 커넥터를 사용하여 이러한 Info*Engine 작업을 호출하십시오.
OData 커넥터는 다음 Windchill 릴리스를 지원합니다.
11.1 M010 이상
11.1 F000 CPS03 이상
11.0 M030 CPS09 이상
* 
향후 릴리스의 ThingWorx Navigate에서는 Windchill 커넥터인 ptc-windchill-connectorptc-windchill-swagger-connector에 대한 지원이 더 이상 제공되지 않습니다. 이전 Windchill 커넥터에 대한 지원을 제공하지 않는 릴리스로의 원활한 전환을 위해 이 도움말 항목의 단계를 따라 지금 ptc-windchill-OData-connector로 Info*Engine 작업을 실행하십시오.
OData 커넥터를 사용하여 Info*Engine 작업을 실행하려면 먼저 Info*Engine 도메인 Windchill REST 서비스에 연결하도록 ptc-windchill-OData-connector를 구성합니다. 그런 다음 Windchill REST 서비스를 사용하여 Info*Engine 작업을 시작할 수 있습니다.
* 
OData 커넥터를 구성하고 Info*Engine 작업을 실행하려면 ThingWorx에서 새 Composer 사용자 인터페이스를 사용해야 합니다.
Integration Runtime을 구성해야 합니다. 자세한 내용은 Integration Runtime 설정을 참조하십시오.
1. ThingWorx Composer에서 ptc-windchill-OData-connector를 검색하여 엽니다. 일반 정보 페이지가 열립니다.
2. 구성을 클릭합니다. 구성 페이지가 열립니다.
사용자의 구성은 Single Sign-on, Windchill 인증 또는 고정 인증 등 인증 방식에 따라 다릅니다.
Single Sign-on
Single Sign-on이 구성되어 있는 경우 다음 단계를 따릅니다.
1. 일반 커넥터 연결 설정에서 인증 유형SSO을 선택합니다.
2. 승인 서버 ID에서 sso-settings.json에 제공한 AuthorizationServerSettingsID 값(예: PingFed1)을 입력합니다.
3. 승인 서버 범위 설정에서 추가를 클릭합니다. AuthorizationServerScopesSettings 창이 열립니다.
4. 범위에서 PingFederate에 등록한 Windchill 범위(예: WINDCHILL_READ)를 입력합니다.
5. 추가를 클릭합니다.
6. CSRF 설정에서 다음 정보를 입력합니다.
CSRF Get 요청에 대한 상대 URL - servlet/odata
CSRF 토큰 이름 - CSRF_NONCE
7. OData 커넥터 연결 설정에서 추가를 클릭합니다. ODataConnectorConnectionSettings 창이 열립니다.
8. 서비스 루트 상대 URL에서 IE를 입력한 다음 추가를 클릭합니다. 이미 서비스 루트 상대 URL을 추가한 경우, 단계 9로 건너뜁니다.
9. HTTP 커넥터 연결 설정에서 다음 정보를 입력합니다.
기본 URL - Windchill URL. URL은 /oauth/로 끝나야 합니다. 다음 형식을 사용합니다.
[https]://[Windchill Host]:[port]/[Windchill-web-app]/oauth/
이 형식은 연결이 OAuth 표준을 사용하며 리소스 공급자에서 데이터 요청이 가능하도록 지정합니다.
상대 URL - servlet/odata
사용자 이름과 암호를 입력할 필요가 없습니다.
10. 저장을 클릭합니다. OData 커넥터가 이제 사용자의 Single Sign-on 환경에서 작동되도록 구성되었습니다.
이제, "Info*Engine 작업 실행" 단원으로 건너뜁니다.
Windchill 인증
Windchill 인증이 구성되어 있는 경우 다음 단계를 따릅니다.
1. 일반 커넥터 연결 설정에서 인증 유형None을 선택합니다.
2. CSRF 설정에서 다음 정보를 입력합니다.
CSRF Get 요청에 대한 상대 URL - servlet/odata
CSRF 토큰 이름 - CSRF_NONCE
3. OData 커넥터 연결 설정에서 추가를 클릭합니다. ODataConnectorConnectionSettings 창이 열립니다.
4. 서비스 루트 상대 URL에서 다음 값을 입력합니다.
tw.friendly-name.ServiceRootReletive
이미 서비스 루트 상대 URL을 추가한 경우, 단계 6으로 건너뜁니다.
5. 추가를 클릭합니다.
6. HTTP 커넥터 연결 설정에서 다음 정보를 입력합니다.
기본 URL-ionecctor에서 Info * Engine 요청을 받는 Windchill 서버입니다. 다음 형식을 사용합니다.
[https]://[Windchill Host]:[port]/[Windchill-web-app]/sslClientAuth
상대 URL - servlet/odata
연결 URL - /servlet/WindchillGW/wt.httpgw.HTTPServer/ping
사용자 이름과 암호를 입력할 필요가 없습니다.
7. 저장을 클릭합니다.
8. 서비스를 클릭합니다.
9. GetCustomerHeaderParameters를 클릭합니다.
10. 편집을 클릭합니다.
11. 이 스크립트를 다음 입력 내용을 복사하여 붙여 넣습니다.

var sessionQueryParam = "wt.effectiveUid";
var Language = Resources["CurrentSessionInfo"].GetCurrentUserLanguage();
var params = {
infoTableName : "InfoTable",
dataShapeName : "NavigateCustomHeadersDataShape"
};
var result = Resources["InfoTableFunctions"].CreateInfoTableFromDataShape(params);
var CurrentUser = Resources["CurrentSessionInfo"].GetCurrentUser();
params = {
tableName: "GenericConnectorConnectionSettings" /* STRING */
};
var configTable = me.GetConfigurationTable(params);
var row = configTable.getRow(0);
var authType = row.getStringValue("AuthenticationType");
if("None".equals(authType)) {
var camelHttpQuery = sessionQueryParam + "=" + CurrentUser;
row = {"Accept-Language" : Language, "CamelHttpQuery": camelHttpQuery };
} else {
row = {"Accept-Language" : Language };
}
result.AddRow(row);
12. 저장 및 계속을 클릭한 다음 완료를 클릭합니다.
13. 저장을 클릭합니다.
이제, "Info*Engine 작업 실행" 단원으로 건너뜁니다.
고정 인증
구성 인증이 구성되어 있는 경우, OData 커넥터 구성 단계를 따릅니다.
1. 일반 커넥터 연결 설정에서 인증 유형Fixed을 선택합니다.
2. CSRF 설정에서 다음 정보를 입력합니다.
CSRF Get 요청에 대한 상대 URL - servlet/odata
CSRF 토큰 이름 - CSRF_NONCE
3. OData 커넥터 연결 설정에서 추가를 클릭합니다. ODataConnectorConnectionSettings 창이 열립니다.
4. 서비스 루트 상대 URL에서 IE를 입력한 다음 추가를 클릭합니다. 이미 서비스 루트 상대 URL을 추가한 경우, 단계 5로 건너뜁니다.
5. HTTP 커넥터 연결 설정에서 다음 정보를 입력합니다.
사용자 이름 - 사용자의 Windchill 관리자 사용자 이름
암호 - 사용자의 Windchill 관리자 암호
기본 URL-ionecctor에서 Info * Engine 요청을 받는 Windchill 서버입니다. 다음 형식을 사용합니다.
[https]://[Windchill Host]:[port]/[Windchill-web-app]
상대 URL - servlet/odata
6. 저장을 클릭합니다. OData 커넥터가 이제 사용자의 고정 인증 환경에서 작동되도록 구성되었습니다.
"Info*Engine 작업 실행" 단원으로 계속 진행합니다.
Info*Engine 작업 실행
이제 서비스와 함께 Info*Engine 작업을 실행합니다.
1. 서비스를 클릭합니다. 서비스 페이지가 열립니다.
2. RefreshEndpointCache의 경우 을 클릭합니다. 서비스 실행 창이 열립니다.
3. 실행을 클릭합니다. 다음 메시지가 표시될 것입니다. Success. Your service was successfully executed.
4. 완료를 클릭합니다.
5. InvokeIETask의 경우 을 클릭합니다.
6. 입력 창에 다음 정보를 JSON 형식으로 추가합니다.
Task - Info*Engine 작업의 XML 파일입니다. 이 파일은 <Windchill 설치>/<Windchill_Home>/tasks/에 있습니다.
* 
작업이 실행되도록 활성화되어 있는지 확인하십시오. 즉, XML 파일의 첫 부분에 다음 마크업이 표시되는지 확인하십시오.
<%@page language="java" access="http"%>
Params - (선택 사항) Info*Engine 작업에 매개 변수로 전달하기 위한 이름-값 쌍이 포함된 JSON 어레이입니다.
예:
{
"Task": "wt/federation/delegates/windchill/QueryObjects.xml",
"Params": [
{ "Name": "type", "Value": "wt.part.WTPart" },
{ "Name": "where", "Value": "name=SOME_PART_NAME" }
]
}
7. 실행을 클릭하여 Info*Engine 작업을 시작합니다. 서비스의 출력은 JSON 형식으로 되어 있으며 다음 속성을 포함합니다.
@odata.context - 페이로드에 대한 컨텍스트 URL.
Value - GroupnameElement 속성이 포함된 JSON 객체가 포함되어 있는 JSON 어레이.
8. 다른 Info*Engine 작업을 실행하려면, 1–7단계를 반복합니다.
* 
ThingWorx Navigate에서 OData 커넥터의 끝점이 예상대로 작동하지 않을 수 있으며 결과적으로 변경해야 할 수도 있습니다. Windchill 데이터에 대한 OData 서비스 구성에 대한 자세한 내용 및 지침은 Windchill REST Services User's Guide(Windchill REST Services 사용자 안내서)를 참조하십시오.