Shrilata Ellaboina
Shrilata Ellaboina

Reputation: 103

The adapter "WCF-OracleDB" raised an error message.Unexpected start node with namespace "" found

I am facing this issue since couple of days. My requirement is to execute a stored procedure and if data found run the orchestration every 10-15 min.

for that i using polling approach with Oracle.

I have below stored procedure,

 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;

I have genarated the below schemas via consume adapter services method. I got three schemas

OracleDBBindingGenericOperation.xsd
   OracleDBBindingRADAR.PollingProcedure.xsd
   OracleDBBindingRADAR.Procedure.xsd 

in that i am using the OracleDBBindingRADAR.PollingProcedure.xsd as my message in orch.

 <?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>

now at adminstration level i have made below config setting at receive location, please help where i am doing wrong.

Trasport Type : WCF-OracleDB EnableBiztalkcompatibilityMode : True PollDataAvilableStatment : SELECT count(*) FROM RAD_BTS_MANAGE_DOCAMS WHERE MESSAGE_STATE='CREATED' Polling Action : http://Microsoft.LobServices.OracleDB/2007/03/RADAR/PollingProcedure/BTS_RAD_POLLMANAGESTATEDOCAMD polling Statement : use ambient Transaction : False

I doubt there is someprob with polling Statement .

Could you some one suggest, in my SP its not in out Courser, its just out. How should i write or let me know where it might be going wrong.

Error I am getting:

The adapter "WCF-OracleDB" raised an error message.

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)".

Upvotes: 0

Views: 1375

Answers (2)

Shrilata Ellaboina
Shrilata Ellaboina

Reputation: 103

Finally i could sort out the ans,

I have done some of the mistakes which i corrected,

Trasport Type : WCF-OracleDB
EnableBiztalkcompatibilityMode : True 
PollDataAvilableStatment : SELECT count(*) FROM RAD_BTS_MANAGE_DOCAMS WHERE MESSAGE_STATE='CREATED' Polling Action : http://Microsoft.LobServices.OracleDB/2007/03/RADAR/PollingProcedure/BTS_RAD_POLLMANAGESTATEDOCAMD polling Statement : 
<ns0:BTS_RAD_POLLMANAGESTATEDOCAMD xmlns:ns0="http://Microsoft.LobServices.OracleDB/2007/03/RADAR/Procedure">
  <ns0:P_RC_IN>OPEN ? FOR SELECT * FROM RAD_BTS_MANAGE_DOCAMS WHERE MESSAGE_STATE='CREATED';</ns0:P_RC_IN> 
  </ns0:BTS_RAD_POLLMANAGESTATEDOCAMD>
use ambient Transaction : False

my mistake was i was calling url of polling action in Polling statement at xmlns. Where here the URL is suppose to be from of different Schema.

the other mistake is in my statement i didnt include ;.

Upvotes: 0

DTRT
DTRT

Reputation: 11040

  1. You should import the binding file generated by the Wizard.
  2. The Assembly with the Schema has to be Deployed.

Upvotes: 0

Related Questions