그래, 지난 며칠 동안이 문제를 조사해 왔지만 메시지를 소비 할 수는 없습니다. 다음은 내 기본 메시지 스키마 구조입니다. 파이프 라인을 통해이 스키마에 대해 메시지가 만들어집니다 (작동, 테스트 됨).EBS 패키지에 biztalk sendport 구성
<?xml version="1.0" encoding="utf-16"?>
<xs:schema targetNamespace="http://Microsoft.LobServices.OracleDB/2007/03/XXSCHEMA/Package/XXPAC_AQ_PKG"
xmlns="http://XXCOMPANY.Schemas.adEnqueueRequest"
xmlns:b="http://schemas.microsoft.com/BizTalk/2003"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="ENQUEUE">
<xs:complexType>
<xs:sequence minOccurs="1" maxOccurs="1">
<xs:element name="p_queue_name" type="xs:string" maxOccurs="1" minOccurs="1" nillable="false" />
<xs:element name="p_payload" type="xs:string" maxOccurs="1" minOccurs="1" nillable="false" />
<xs:element name="p_message_type" type="xs:string" maxOccurs="1" minOccurs="1" nillable="false" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
송신 포트는 WCF-OracleEBSAdapter를 사용하려면 구성되어 있고 나는 내 모든 환경 세부 사항이 올바르게 설정되어 확인했습니다 (즉, 사용자 이름, 암호, TNS 정보를.)
현재 내가 설정 한 BTS 조치는 다음과 같습니다
<BtsActionMapping xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Operation Name="ENQUEUE" Action="http://Microsoft.LobServices.OracleDB/2007/03/XXSCHEMA/Package/XXPAC_AQ_PKG/ENQUEUE" />
</BtsActionMapping>
그러나 나는 그것을 작동하게하는 http://msdn.microsoft.com/en-us/library/dd788171.aspx에 액션의 모든 매핑을 시도했습니다. 메시지가 일시 중단되고 이벤트 로그에 다음과 같이 나타날 때마다
"SENDPORTURI"URI가있는 송신 포트 "SENDPORTNAME"의 "WCF-OracleEBSAdapter"어댑터로 보내는 메시지가 일시 중단됩니다.
Error details: Microsoft.ServiceModel.Channels.Common.UnsupportedOperationException: Action "http://Microsoft.LobServices.OracleDB/2007/03/XXSCHEMA/Package/XXPAC_AQ_PKG/ENQUEUE" is invalid.
Server stack trace:
at System.Runtime.AsyncResult.End[TAsyncResult](IAsyncResult result)
at System.ServiceModel.Channels.ServiceChannel.SendAsyncResult.End(SendAsyncResult result)
at System.ServiceModel.Channels.ServiceChannel.EndCall(String action, Object[] outs, IAsyncResult result)
at System.ServiceModel.Channels.ServiceChannel.EndRequest(IAsyncResult result)
Exception rethrown at [0]:
at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
at System.ServiceModel.Channels.IRequestChannel.EndRequest(IAsyncResult result)
at Microsoft.BizTalk.Adapter.Wcf.Runtime.WcfClient`2.RequestCallback(IAsyncResult result)
MessageId: {26BF83FF-742E-4649-8FCC-45729767FF8E}
InstanceID: {CA97B656-FC1A-4884-8A6A-F95D156298ED}
이 송신 포트의 목적은 지정된 큐에 메시지를 배치합니다 오라클 서버에 루틴을 호출하는 것입니다. 누구든지 성공적으로 전에 이것을 했습니까? 아무도 내 구성에 문제가있는 것을 볼 수 있습니까? 어떤 조언도 부탁드립니다.
감사를 인용했다. 스키마 자체가 약간 틀렸고 사용해야하는 네임 스페이스는 "http://schemas.microsoft.com/OracleEBS/2008/05/PackageApis/[SCHEMA]/[PACKAGE]" PackageApis/[SCHEMA]/[PACKAGE]/[OPERATION] – Eric