다음을 통해 공유


Siebel 어댑터의 작동 문제 해결

이 섹션에서는 Siebel eBusiness 애플리케이션용 Microsoft BizTalk 어댑터를 사용할 때 발생할 수 있는 운영 문제에 대한 정보를 중앙 집중식으로 제공합니다.

추적 사용

Siebel 어댑터의 추적 지원에 대한 자세한 내용은 Siebel 어댑터에 대한 진단 추적 및 메시지 로깅을 참조하세요.

알려진 문제

다음은 Siebel 어댑터를 사용하는 동안 발생할 수 있는 몇 가지 문제 및 권장 솔루션입니다.

어댑터 바인딩 로드 오류

문제

어댑터 서비스 참조 Visual Studio 플러그 인 추가 또는 어댑터 서비스 BizTalk 프로젝트 추가 기능 사용을 시작하려고 하면 GUI에서 다음 오류가 발생합니다.

There was an error loading the binding, <binding name>, from your system configuration.  
ConfigurationErrorsException: Exception has been thrown by the target of an invocation.  

원인

어댑터 서비스 참조 플러그 인 추가 또는 어댑터 서비스 사용 추가 기능을 시작하면 WCF는 설치된 모든 어댑터에 대한 어댑터 바인딩을 로드합니다. 어댑터 바인딩은 특정 엔터프라이즈 애플리케이션 클라이언트 소프트웨어에 따라 달라집니다. 따라서 다음 이유 중 하나 또는 둘 다에 대해 이 문제에 직면할 수 있습니다.

  • 필요한 LOB 클라이언트 소프트웨어는 어댑터를 설치한 컴퓨터에 설치되어 있지 않습니다.

  • BizTalk 어댑터 팩에 모든 어댑터를 설치하는 어댑터의 "일반" 또는 "완료" 설치를 수행했습니다. 그러나 클라이언트 라이브러리는 하나의 엔터프라이즈 애플리케이션에 대해서만 설치될 수 있습니다. 결과적으로 GUI는 다른 어댑터에 대한 바인딩을 로드하지 못합니다.

    해결 방법

  • BizTalk 어댑터 팩을 설치한 컴퓨터에 필요한 클라이언트 버전이 설치되어 있는지 확인합니다.

  • 필요한 어댑터만 설치하려면 어댑터를 사용자 지정 설치해야 합니다.

Siebel 어댑터가 BizTalk Server 관리 콘솔의 어댑터 목록에 표시되지 않습니다.

문제

BizTalk Server 함께 제공된 이전 버전의 어댑터와 달리 BizTalk 어댑터 팩과 함께 제공된 Siebel 어댑터는 BizTalk Server 관리 콘솔의 어댑터 목록에 표시되지 않습니다.

원인

최신 Siebel 어댑터는 WCF 사용자 지정 바인딩입니다. 따라서 BizTalk Server 관리 콘솔은 WCF-Custom 어댑터를 표시하지만 WCF 사용자 지정 바인딩을 표시하지 않으므로 WCF 기반 Siebel 어댑터가 표시되지 않습니다.

해결 방법

BizTalk Server 관리 콘솔에 Siebel 어댑터 추가에 설명된 단계에 따라 Siebel 어댑터를 BizTalk Server 관리 콘솔에 명시적으로 추가할 수 있습니다.

Siebel 시스템에 연결하는 동안 오류 발생

문제

어댑터 서비스 참조 추가 플러그 인 또는 어댑터 서비스 사용 추가 기능은 Siebel 시스템에 연결하려고 할 때 다음과 같은 오류가 발생합니다.

Connecting to the system LOB has failed. Retrieving the COM class factory for component with CLSID {ID} failed due to the following error: 80040154  

원인

Siebel 웹 클라이언트가 컴퓨터에 설치되지 않을 수 있습니다.

해결 방법

지원되는 버전의 Siebel 웹 클라이언트가 컴퓨터에 설치되어 있는지 확인합니다. Siebel에 대해 지원되는 클라이언트 및 서버 버전에 대한 설치 가이드를 참조하세요. 설치 가이드는 시스템 드라이브>:\Program Files\Microsoft BizTalk 어댑터 팩\문서에서 확인할 수 있습니다<.

노드가 65536개 이상인 XML을 검색하는 동안 오류가 발생했습니다.

문제

어댑터는 노드가 65536개 이상인 XML 출력을 검색하는 동안 다음과 같은 오류가 발생합니다.

Maximum number of items that can be serialized or deserialized in an object graph is '65536'.  
Change the object graph or increase the MaxItemsInObjectGraph quota.  

원인

어댑터는 65536개 이상의 항목으로 개체를 직렬화하고 역직렬화할 수 없습니다.

해결 방법

매개 변수를 설정 maxItemsInObjectGraph 하여 이 문제를 해결할 수 있습니다. 다음 두 가지 방법 중에서 설정할 수 있습니다.

  • 서비스 클래스의 maxItemsInObjectGraph 특성에서 매개 변수를 ServiceBehavior 변경하여 이 매개 변수를 설정합니다.

  • 애플리케이션의 app.config 파일에 다음을 추가합니다.

    <behaviors>  
      <endpointBehaviors>  
        <behavior name="NewBehavior">  
          <dataContractSerializer maxItemsInObjectGraph="65536000" />  
        </behavior>  
      </endpointBehaviors>  
    </behaviors>  
    

    샘플 app.config 다음과 같습니다.

<?xml version="1.0" encoding="utf-8"?>  
<configuration>  
  <system.serviceModel>  
    <behaviors>  
      <endpointBehaviors>  
        <behavior name="NewBehavior">  
         <dataContractSerializer maxItemsInObjectGraph="65536000" />  
        </behavior>  
      </endpointBehaviors>  
    </behaviors>  
    <client>  
      <endpoint   behaviorConfiguration="NewBehavior" binding="siebelBinding"  
       contract="IOutboundContract" name="siebel_ICalculator" />  
    </client>  
  </system.serviceModel>  
</configuration>  

BizTalk에서 WCF-Custom 포트에 대한 연결 URI를 지정하는 동안 오류가 발생했습니다.

문제

BizTalk Server Siebel 시스템에 연결할 연결 URI를 지정하면 다음과 같은 오류가 발생합니다.

Error saving properties.  
(System.ArgumentException) The specified address is invalid.  
(System.ArgumentException) Invalid address;  
"<connection URI>" is not a well-formed absolute uri.  

원인

연결 URI는 표준 인코딩 형식을 준수하지 않습니다. 예를 들어 매개 변수의 값에는 공백이 포함될 수 있습니다.

해결 방법

지정한 연결 URI가 표준 인코딩 형식을 준수하는지 확인합니다. 예를 들어 빈 공간을 "%20"으로 바꿔야 합니다.

Siebel 시스템에서 작업을 수행하는 동안 오류 발생

문제

어댑터는 BizTalk Server 사용하여 Siebel 시스템에서 작업을 수행할 때 다음과 같은 오류가 발생합니다.

  • BizTalk Server

    System.ArgumentNullException: Value cannot be null.  
    

    원인

    메시지에 대한 WCF 작업이 지정되지 않았습니다. WCF는 모든 작업에 대해 SOAP 작업을 지정해야 하며, 이 작업은 LOB 애플리케이션에서 수행할 작업에 대해 어댑터에 알릴 수 있습니다.

    해결 방법

    전송 포트에서 SOAP 작업을 지정하거나 BizTalk 오케스트레이션의 메시지 컨텍스트 속성으로 지정합니다. 자세한 내용은 Siebel에 대한 SOAP 작업 구성을 참조하세요. 각 작업에 대한 작업 목록은 메시지 및 메시지 스키마 를 참조하세요.

지정한 작업에서 잘못된 작업 이름으로 인한 XmlReaderParsingException

문제

BizTalk Server 관리 콘솔은 Siebel 시스템에 메시지를 보낼 때 다음과 같은 오류를 발생합니다.

Microsoft.ServiceModel.Channels.Common.XmlReaderParsingException: Invalid argument:  
<BtsActionMapping xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">  
  <Operation Name="<operation_name>" Action="<action>" />  
</BtsActionMapping>  

원인

어댑터 서비스 BizTalk 프로젝트 추가 기능 사용에서 만든 포트 바인딩 파일을 가져와 WCF-Custom 포트를 구성하는 경우 포트의 작업은 다음 형식으로 지정됩니다.

<BtsActionMapping>  
  <Operation Name="Op1" Action="http://MyService/Svc/Op1" />  
</BtsActionMapping>  

위의 형식에서 작업 이름은 스키마를 생성하는 동안 선택한 작업에 의해 제어됩니다. 예를 들어 Siebel 비즈니스 구성 요소에서 쿼리 작업에 대한 스키마를 생성한 경우 작업의 작업 이름은 "쿼리"입니다. 그러나 Visual Studio의 BizTalk 오케스트레이션에서 만든 논리 포트의 작업 이름은 다를 수 있습니다.

해결 방법

논리 포트(Visual Studio의 BizTalk 오케스트레이션)와 실제 포트(BizTalk Server 관리 콘솔)의 작업 이름이 동일한지 확인합니다.

Siebel 어댑터를 사용하는 애플리케이션이 종료되지 않음

문제

Siebel 클라이언트 버전 7.5와 함께 Siebel 어댑터를 사용하는 애플리케이션은 종료되지 않습니다.

원인

이는 Siebel 서버에서 로그오프할 때 프로세스가 종료되지 않는 Siebel 클라이언트 문제 때문입니다.

해결 방법

빠른 수정 QF0H05와 함께 Siebel 서버에 대해 패치 7.5.3.17이 설치되어 있는지 확인합니다.

Siebel 서버를 다시 시작하면 Siebel 어댑터가 중단될 수 있습니다.

문제

Siebel 어댑터가 을 사용하여 Siebel 서버에 메시지를 보내는 동안 Siebel 서버를 다시 시작하면 Siebel 어댑터가 중단될 수 있습니다.

해결 방법

BizTalk 애플리케이션 호스트 instance 다시 시작합니다. BizTalk Server 관리 콘솔에서 이 작업을 수행하려면 콘솔 트리에서 BizTalk 그룹을 확장하고 플랫폼 설정을 확장한 다음 호스트 인스턴스를 클릭합니다. 오른쪽 창에서 호스트 이름을 마우스 오른쪽 단추로 클릭한 다음 다시 시작을 선택합니다.

어댑터 서비스 사용 추가 기능에서 생성된 바인딩 파일을 사용하여 포트를 만들더라도 어댑터는 실제 포트에서 작업을 인식하지 못합니다.

문제

어댑터 서비스 사용 추가 기능을 사용하여 Siebel 시스템에서 특정 작업에 대한 스키마를 생성한 후 추가 기능도 포트 바인딩 파일을 만듭니다. BizTalk Server 관리 콘솔을 사용하여 이 바인딩 파일을 가져와 BizTalk Server 실제 포트를 만들 수 있습니다. 그러나 이러한 포트를 사용하여 Siebel 시스템에 메시지를 보내면 어댑터가 포트에 지정된 작업을 이해하지 못하고 다음과 유사한 오류가 발생합니다.

Microsoft.ServiceModel.Channels.Common.UnsupportedOperationException: Incorrect Action   
<BtsActionMapping xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">  
  <Operation Name="<op_name>" Action="<action>" />  
</BtsActionMapping>. Correct the specified Action, or refer to the documentation on the allowed formats for the Actions.  

원인

BizTalk 오케스트레이션에서 논리 포트를 만들 때 해당 포트의 작업에 대한 특정 이름을 지정하거나 Operation_1, Operation_2 등의 기본 이름만 사용합니다. 그러나 어댑터 서비스 추가 기능 사용에서 생성된 바인딩 파일에서 작업 이름은 메타데이터를 생성하는 작업의 이름과 동일합니다. 예를 들어 계정 비즈니스 구성 요소에서 삽입 작업에 대한 메타데이터를 생성하는 경우 작업은 다음으로 설정됩니다.

<Operation Name="Insert" Action="http://Microsoft.LobServices.Siebel/2007/03/BusinessObjects/Account/Account/Insert" />  

바인딩 파일을 가져올 때 실제 포트에서 동일한 작업이 설정됩니다. 따라서 논리 포트(Operation_1, Operation_2 등)의 작업 이름이 실제 포트의 작업에 지정된 작업 이름과 일치하지 않아 오류가 발생합니다.

해결 방법

논리 포트의 작업 이름이 실제 포트에서 작업의 일부로 지정된 작업 이름과 동일한지 확인합니다. 다음 중 하나를 수행합니다.

  • BizTalk 오케스트레이션의 논리 포트에 있는 작업 이름을 Operation_1 등에서 메타데이터를 생성하는 작업(예: 삽입)으로 변경합니다.

  • 실제 포트에 대한 작업의 작업 이름을 논리 포트의 작업 이름으로 변경합니다. 예를 들어 물리적 포트의 작업을 다음과 같이 변경할 수 있습니다.

    <Operation Name="Operation_1" Action="http://Microsoft.LobServices.Siebel/2007/03/BusinessObjects/Account/Account/Insert" />  
    

Siebel 어댑터는 이름에 XML 인코딩 문자열이 있는 Siebel 개체를 처리하지 않습니다.

문제

Siebel 어댑터는 이름에 XML로 인코딩된 문자열이 있는 Siebel 개체(비즈니스 개체, 비즈니스 구성 요소, 비즈니스 서비스, 선택 목록, 메서드, 필드, 인수 등)와 관련된 작업을 수행할 수 없습니다. 예를 들어 Siebel 어댑터는 이름이 Time_x0020_Stamp 비즈니스 서비스 메서드를 호출할 수 없습니다.

해결 방법

Siebel 개체에 이름에 XML로 인코딩된 문자열이 포함되어 있지 않은지 확인합니다.

BizTalk Projects에서 RootNode TypeName 오류 발생

문제

Visual Studio의 BizTalk 프로젝트에서 어댑터 서비스 추가 기능 사용에서 생성된 스키마에 RootNode TypeName 속성에 대한 잘못된 문자 또는 예약된 단어가 포함된 경우 프로젝트를 컴파일하는 동안 다음 오류가 발생합니다.

Node <node reference> - Specify a valid .NET type name for this root node.  
The current .NET type name of this root node is invalid (it is a reserved BizTalk Keyword or is an invalid C# identifier).  

해결 방법

  1. 오류에서 참조된 rood 노드를 마우스 오른쪽 단추로 클릭하고 속성을 선택합니다.

  2. RootNode TypeName 속성의 경우 잘못된 문자 또는 예약된 단어(예: dot(.))를 제거합니다.

Visual Studio에서 어댑터를 사용할 때 잘못된 바인딩 경고

문제

어댑터를 사용하여 Visual Studio에서 애플리케이션을 만들고 어댑터에서 생성된 구성 파일(app.config)을 열면 다음과 유사한 경고가 표시됩니다.

The element 'bindings' has invalid child element 'siebelBinding'. List of possible elements expected: 'basicHttpBinding, customBinding, ...  

원인

이 경고는 Siebel 어댑터 바인딩 이 siebelBindingWCF(Windows Communication Foundation)와 함께 제공되는 표준 바인딩이 아니기 때문에 나타납니다.

해결 방법

이 경고는 무시해도 됩니다.

참고 항목

Siebel 어댑터 문제 해결