私は数日以来、この問題に直面しています。私の要件は、ストアド プロシージャを実行することです。データが見つかった場合は、10 ~ 15 分ごとにオーケストレーションを実行します。
そのために、Oracleでポーリングアプローチを使用しています。
私は以下のストアドプロシージャを持っています、
create or replace procedure BTS_RAD_PollManageStateDOCAMD( p_rc out sys_refcursor) is
begin
for rec in (
SELECT * FROM RAD_BTS_MANAGE_DOCAMS
WHERE MESSAGE_STATE='CREATED')
loop
dbms_output.put_line(
rec.CORRELATION_ID || ',' || rec.MESSAGE_KEY || ',' ||rec.MESSAGE_FILENAME || ',' ||rec.MESSAGE_ROOTNODE
||',' ||rec.MESSAGE_ELIMINATEDFLAG || ',' ||rec.MESSAGE_CONTENT || ',' ||rec.MESSAGE_STATE );
end loop;
end;
アダプター サービスの消費メソッドを使用して、以下のスキーマを生成しました。3 つのスキーマを取得しました
OracleDBBindingGenericOperation.xsd
OracleDBBindingRADAR.PollingProcedure.xsd
OracleDBBindingRADAR.Procedure.xsd
orch でメッセージとして OracleDBBindingRADAR.PollingProcedure.xsd を使用しています。
<?xml version="1.0" encoding="utf-16" ?>
- <xs:schema xmlns:b="http://schemas.microsoft.com/BizTalk/2003" xmlns:ns3="http://Microsoft.LobServices.OracleDB/2007/03" elementFormDefault="qualified" targetNamespace="http://Microsoft.LobServices.OracleDB/2007/03/RADAR/PollingProcedure" version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:import schemaLocation=".\OracleDBBindingGenericOperation.xsd" namespace="http://Microsoft.LobServices.OracleDB/2007/03" />
- <xs:annotation>
- <xs:appinfo>
<fileNameHint xmlns="http://schemas.microsoft.com/servicemodel/adapters/metadata/xsd">RADAR.PollingProcedure</fileNameHint>
- <references xmlns="http://schemas.microsoft.com/BizTalk/2003">
<reference targetNamespace="http://Microsoft.LobServices.OracleDB/2007/03" />
</references>
</xs:appinfo>
</xs:annotation>
- <xs:element name="BTS_RAD_POLLMANAGESTATEDOCAMD">
- <xs:annotation>
- <xs:documentation>
<doc:action xmlns:doc="http://schemas.microsoft.com/servicemodel/adapters/metadata/documentation">http://Microsoft.LobServices.OracleDB/2007/03/RADAR/PollingProcedure/BTS_RAD_POLLMANAGESTATEDOCAMD</doc:action>
</xs:documentation>
</xs:annotation>
- <xs:complexType>
- <xs:sequence>
<xs:element minOccurs="1" maxOccurs="1" name="P_RC" nillable="true" type="ns3:ArrayOfGenRecordRow" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
今、管理者レベルで、受信場所で以下の構成設定を行いました。間違っているところを助けてください。
トランスポート タイプ: WCF-OracleDB EnableBiztalkcompatibilityMode: True PollDataAvilableStatement: SELECT count(*) FROM RAD_BTS_MANAGE_DOCAMS WHERE MESSAGE_STATE=' CREATED 'アンビエント トランザクション: False
polling Statement に何らかの問題があるとは思えません。
私のSPでは、アウトコーサーではなく、アウトだけです。どのように書くか、どこが間違っているのか教えてください。
私が得ているエラー:
アダプタ「WCF-OracleDB」でエラー メッセージが発生しました。
Details "Microsoft.ServiceModel.Channels.Common.XmlReaderParsingException: Unexpected start node "BTS_RAD_POLLMANAGESTATEDOCAMD" with namespace "http://Microsoft.LobServices.OracleDB/2007/03/RADAR/PollingProcedure/BTS_RAD_POLLMANAGESTATEDOCAMD" found.
at Microsoft.ServiceModel.Channels.Common.Design.AdapterAsyncResult.End()
at Microsoft.ServiceModel.Channels.Common.Channels.AdapterInputChannel.EndTryReceive(IAsyncResult result, Message& message)
at System.ServiceModel.Dispatcher.InputChannelBinder.EndTryReceive(IAsyncResult result, RequestContext& requestContext)
at System.ServiceModel.Dispatcher.ErrorHandlingReceiver.EndTryReceive(IAsyncResult result, RequestContext& requestContext)".