Error in WCF-Custom adapter (sqlbinding)
There is a stored procedure tempdbo.dbo.InsertArTrxTyp. I used the Add Generated Items wizard to create the schema and binding file for the stored procedure. Import the binding file and get a send port, type WCF-Custom, with sqlbinding. When
the port action header is
<BtsActionMapping xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Operation Name="InsertArTrxTyp" Action="Procedure/dbo/InsertArTrxTyp" />
</BtsActionMapping>
The event log shows error
<Operation Name="InsertArTrxTyp" Action="Procedure/dbo/InsertArTrxTyp" /></BtsActionMapping>" was not understood.
If I reduce the action header to
Procedure/dbo/InsertArTrxTyp
the event log shows
Object [dbo].[InsertArTrxTyp] of type StoredProcedure does not exist
In the second case, SQL Profiler shows the code sent to the sql server querying for the existence of
@ORIGINALOBJECTNAME=N'InsertArTrxTyp',@ORIGINALSCHEMANAME=N'dbo'
If I run that code, I get results that indicate the existence of that object.
Why is the fist action mapping wrong? Why does the second action mapping result in no object found? I've read this
post but don't see how it applies to this situation as I'm not using an orchestration.
Hi,
Try and check following points:
1. Update the SQL URI with the complete SQL instance name, if you are using the a named instance.
2. Verify if the user, under which BizTalk host instance in running, have suffecient rights on the target DB to execute the SP.
Hope this will help.
HTH,
Sumit
Sumit Verma - MCTS BizTalk 2006/2010 - Please indicate "Mark as Answer" or "Mark as Helpful" if this post has answered the question
Similar Messages
-
BizTalk 2010 RTM version with SQL 2008 R2 .
An intermittent issue with the WCF-Custom adapter with sqlbinding, calling a SQL stored proc as below
Message gets suspended in BT Admin console with "An internal server error was encountered while attempting to transmit the message" .
Event log shows
A message sent to adapter "WCF-Custom" on send port "xxx" with URI "mssql://server/db?" is suspended. Error details: Unknown Error Description
Any advice please. Thanks
Sullu.
http://biztalkguide.blogspot.com/ Please mark as answer if this solved the issue.ThanksHi Chen
Is there any update on this please ?
I have applied the latest CU and have noticed the following issue.
BizTalk 2010 Enterprise Edition with BizTalk 2010 CU6 and CU3 for BizTalk Adapter Pack works fine , no issues noticed.
However ,
On a DEV VM ,BizTalk 2010 Developer Edition with BizTalk 2010 CU6 and CU3 for BizTalk Adapter Pack still gives the error mentioned in this post.
In addition Microsoft BizTalk Adapter Pack ,Microsoft BizTalk Adapter Pack(x64) & WCF LOB Adapter SDK are also installed .
Below is the Error message.
Message gets suspended in BT Admin console with "An internal server error was encountered while attempting to transmit
the message" .
A message sent to adapter "WCF-Custom" on send port "xxx" with URI "mssql://server/db?" is
suspended. Error details:
Unknown Error Description
Could you please check and advice what needs to be done to resolve this ? Thanks .
Regards,
Sullu
http://biztalkguide.blogspot.com/ Please mark as answer if this solved the issue.Thanks -
Issue with WCF-Custom adapter polling Oracle db
Hi,
I have a scenario where BizTalk connects to Oracle db using WCF-custom adapter with OracleDbBding which has queries at P below properties:
PolledDataAvailableStatement
PollingStatement
PostPollStatement
The interface was working for more than 2 years, but when oracle server is moved from prod to DR server, it started throwing crazy errors.I have gone thru many blogs there seems to no definitive answer or solution for this.
I have been getting below errors:
The adapter "WCF-Custom" raised an error message. Details "The faulted WCF service host at address oracledb:// could not be restarted, and as a result no messages can be
received on the corresponding receive location. BizTalk Server will continue trying to start the service host until it succeeds or the receive location is disabled.
The adapter "WCF-Custom" raised an error message. Details "The faulted WCF service host at address oracledb://xxxxx/?PollingId= could not be restarted, and as a result
no messages can be received on the corresponding receive location. BizTalk Server will continue trying to start the service host until it succeeds or the receive location is
disabled.
To fix the problem, you may choose to:
1. Use the error information given to fix the problem.
2. Restart the receive location.
3. Keep waiting for BizTalk to recycle the service host. Another event will notify if the service host is successfully started.
Detailed error information: Microsoft.ServiceModel.Channels.Common.ConnectionException: Connection request timed out ---> Oracle.DataAccess.Client.OracleException Connection
request timed out at Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object
src, String procedure)
at Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, Object src)
at Oracle.DataAccess.Client.OracleConnection.Open()
at Microsoft.Adapters.OracleCommon.OracleCommonConnectionWrapper..ctor(String connectionString, OracleCommonExecutionHelper executionHelper)
at Microsoft.Adapters.OracleDB.OracleDBConnection.Microsoft.ServiceModel.Channels.Common.IConnection.Open(TimeSpan timeout)
--- End of inner exception stack trace ---
at Microsoft.Adapters.OracleDB.OracleDBConnection.Microsoft.ServiceModel.Channels.Common.IConnection.Open(TimeSpan timeout)
at Microsoft.ServiceModel.Channels.Common.Design.ConnectionPool.GetConnection(Guid clientId, TimeSpan timeout)
at Microsoft.ServiceModel.Channels.Common.Design.ConnectionPool.GetConnectionHandler[TConnectionHandler](Guid clientId, TimeSpan timeout, MetadataLookup metadataLookup,
String& connectionId)
at Microsoft.ServiceModel.Channels.Common.Channels.AdapterChannelListener`1.OnOpen(TimeSpan timeout)
at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout)
at System.ServiceModel.Dispatcher.ChannelDispatcher.OnOpen(TimeSpan timeout)
at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout)
at System.ServiceModel.ServiceHostBase.OnOpen(TimeSpan timeout)
at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout)
at System.ServiceModel.Channels.CommunicationObject.Open()
at Microsoft.BizTalk.Adapter.Wcf.Runtime.WcfReceiveEndpoint.Enable()
at Microsoft.BizTalk.Adapter.Wcf.Runtime.WcfReceiveEndpoint.RecycleServiceHost(Object unused)".-------------------------
The adapter "WCF-Custom" raised an error message. Details "System.ServiceModel.CommunicationObjectFaultedException: The communication object,
Microsoft.ServiceModel.Channels.Common.Channels.AdapterInputChannel, cannot be used for communication because it is in the Faulted state.
at System.ServiceModel.Channels.CommunicationObject.Close(TimeSpan timeout)
at System.ServiceModel.Channels.CommunicationObject.Close()
at System.ServiceModel.Dispatcher.ErrorHandlingReceiver.Close()"."Oracle.DataAccess.Client.OracleException Connection request timed out at Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object
src, String procedure)"
Looks like it's the Oracle client that can't connect. Can you run any queries from the Oracle tools? -
Hi all,
I am facing the below mentioned issue while configuring the WCF custom Adapter in Biztalk Server 2013
WCF-Custom Transport Properties
Error saving properties.
(System.ArgumentException) Invalid binding.
(System.IO.FileNotFoundException) Could not load file or assembly 'Oracle.DataAccess, Version=2.111.7.0, Culture=neutral, PublicKeyToken=89b483f429c47342' or one of its dependencies. The system cannot find the file specified.
Any one please suggest
OKDear Biztalk007,
I also faced the same issue but on Biztalk 2010. Here is what I did.
The issue may be three fold. You must have following installed in addition to your stand alone biztalk installation
1) Biztalk WCF Adapter pack
2) Biztalk LOB adapter pack
3) Appropriate Oracle Client.
But you must take care of the thing that a proper Oracle Client suitable to your needs. I am working on Biztalk 2010 and I intsalled Oracle 11g.
I am pretty sure ,yur error will be resolved after their installation.
Regards,
Mandar Dharmadhikari
Please mark as answer if this helps to answer your question. -
Can Wcf-Custom Adapter implement Wcf-WebHttp Functionality?
Can the Wcf-Custom adapter implement the same functionality as the Wcf-WebHttp adapter in BizTalk 2013? In particular, can it provide the same functionality as the operation map and the variable map? If not, is there any other way to provide Wcf-WebHttp
functionality without hosting an adapter in IIS with an isolated host?
Thanks!Yes, but...
You can set the mappings on outgoing messages with some new Context Properties. This describes how to do it on a Dynamic Port, but it should work the same on a static port.
http://masteringbiztalkserver.wordpress.com/2013/11/11/calling-restful-service-using-dynamic-send-ports-biztalk-2013/
The receive side is a bit different since I'm 97% sure all the mapping happens in the BizTalk Adapter (WS-WebHttp) not any of the binding elements.
However, you can essentially replicate that functionality with a Custom Pipeline Component. In that case you would use the WCF-Custom Adapter with the webHttpBinding. -
Nonce property in WCF custom adapter
Hello All,
How to configure Nonce property in WCF Custom Adapter in Biztalk.
I have created custom assembly as mentioned in other blogs(http://weblog.west-wind.com/posts/2012/Nov/24/WCF-WSSecurity-and-WSE-Nonce-Authentication), where we can create UsernameToken to specfy it, but how to use it?
I have added it into GAC, but biztalk is not referring it.
Pooja Jagtap Software Engineer KPIT CumminsHi,
You should look into the following articles first:
http://msdn.microsoft.com/en-us/library/ms731075.aspx
http://msdn.microsoft.com/en-us/library/dd203050(v=bts.10).aspx#BKMK_ConsumeWCFSvc
You don't even necessarily need to code a new binding. Using the WCF-Custom adapter, you can choose your binding as customBinding (in the bindings tab of the port configuration), and then specify which binding elements should constitute your binding.
Of course, another workaround is to call a WSE 3.0 service using a developed external assembly in an orchestration.
Hope the information helps.
Best regards,
WenJun -
Hi All
I am using WCF-Custom (WS HTTP Binding) with Message security as Windows and using Reliable messaging in the send port. Its a static Port.
Every thing works fine as expected for the interface. ie the transaction is success. After a min of the transaction completion. I am getting the following error
01. I have not checked Propagate Fault message (as a solution provided in another blog)
02. Its a static Port
03. I am using reliable messaging
The below error events are logged in the event viewer
The Message Engine Encountered an error while suspending one or more Messages ( ID 5677)
Event ID : 5796
The transport proxy method MoveToNextTransport() failed for adapter WCF-Custom: Reason: “Messaging engine has no record of delivering the message to the adapter. This could happen if MoveToNextTransport() is called multiple times for the same message by
the adapter or if it is called for a message which was never delivered to the adapter by the messaging engine”. Contact the adapter vendor
Should I have log this issue with Microsoft through Service request ? or is there any work around is there. Unfortunate is I cannot remove the reliable messaging from the service.
ArunHi,
Is there any solution to this problem?
I am getting the same issue "The transport proxy method MoveToNextTransport() failed for adapter WCF-NetTcp: Reason: "Messaging engine has no record of delivering the message to the adapter.
This could happen if MoveToNextTransport() is called multiple times for the same message by the adapter or if it is called for a message which was never delivered to the adapter by the messaging engine". Contact the adapter vendor"
I checked this link http://rajwebjunky.blogspot.be/2011/09/biztalk-dynamic-request-response-port.html, but
in my case i am not using dynamic port.
In my scenario, i have a number of dehydrated orchestrations that become active every Monday 6:00 AM UTC and make to calls to a WCF service, to spread out the load I have implemented a load distribution logic where orchestrations send request to service
in every 1 minute (not at the same time). but still i get this error sometime.
I have opened a ticket with MS support but thought that someone might have already found the root cause.
Let me know if there is one.
Thanks,
Rahul
Best Regards, Rahul Dubey MCTS BizTalk Server -
Hi All,
Its been quite some time i am struggling with this issue.
we have a wcf custom behavior which validates the schema. on top of that i have implemented logic to remove any attachment node (in received xml file we have a record called attachments which intern contains element which holds attachment data) if size is
greater than 2.5MB then re construct the element with value saying "your attachment has been removed".
code every thing is working fine with single message but when do a load test (with thread = 5 and number of test =10 in SOAP UI ) then getting a below warnings. (with single thread is working fine)
The adapter "WCF-CustomIsolated" raised an error message. Details "System.Xml.XmlException: The input source is not correctly formatted. at System.Xml.XmlExceptionHelper.ThrowXmlException(XmlDictionaryReader reader, String res, String
arg1, String arg2, String arg3) at System.Xml.XmlBufferReader.ReadValue(XmlBinaryNodeType nodeType, ValueHandle value)
The adapter "WCF-CustomIsolated" raised an error message. Details "System.Xml.XmlException: The prefix 'k' is not defined.at System.Xml.XmlExceptionHelper.ThrowXmlException(XmlDictionaryReader reader, String res, String arg1, String arg2,
String arg3)
below is the code used to read the attachment size
using (AttachmentReader = message4.GetReaderAtBodyContents().ReadSubtree())
while (AttachmentReader.Read())
if (AttachmentReader.IsStartElement())
strNs = AttachmentReader.NamespaceURI;// read the namespace of message for schema validation
while (AttachmentReader.ReadToFollowing(AtmtNode)) //read attachment node
countAttachment = countAttachment + 1; //count the number of attachments in a message
AtmtSize = AtmtSize + AttachmentReader.ReadElementContentAsString().Length;// check the size of attachment content node
AttachmentReader.Close();
//check of the size greater than 2.5MB
IsSizeMax = (AtmtSize > System.Convert.ToInt32(validateAtmtSize)) ? true : false;
//if size is greater than 2.5MB then remove the attachment node and reconstruct the same
if (count == attachmentCount) // Finally write the attachment node with configured message (converted to base64) this will read all the attachment nodes and writes only one record inspite of multiple attachments
if (HasAtbt) // if "attachments" record has any attributes then create attachments record with
along attributes
wr.WriteStartElement(AtmtRecord, Ns);//This will create "attachments" record with
attribute
wr.WriteElementString(AtmtName, "RemovedAttachment.txt");//"attachment_content_name"
wr.WriteElementString(AtmtType, "text/plain");//"attachment_content_type"
wr.WriteElementString(AtmtNode, Msg);//attachme content node
wr.WriteEndElement();wr.Flush();
wr.Close();
bodyReader.Close();
strMsg = SB.ToString();
int fIdx = strMsg.IndexOf("</" + RefId + ">");
int lastIdx = strMsg.IndexOf("<" + RefId);
parashuramHi,
Please refer to the Q and A
http://code.msdn.microsoft.com/windowsapps/How-to-integrate-BizTalk-07fada58/view/Discussions -
Root element is missing - Response from a WCF service - WCF-Custom adapter
hi BizTalk experts,
In the production environment, as soon as the response is getting subscribed by the orchestration, the orchestration instance is getting suspended and the error that shows up in console is
"Root element is missing".
I have checked the actual response message in the console it is a well formed xml. This is happening only for a few responses from the WCF services. A majority of them are getting processed successfully. I have tried getting the parsing the response in a
pipeline (using custom pipeline component, the production one uses xml receive) and pass it to the orchestration, but it fails giving the same error.
Thanks in advance.Do you have any mapping done on the response message from the WCF service . ?
If so Better to copy the suspended message coming from the WCF service and validate against the custom response Schema you have created.
Note : You can try running fiddler tool to check the response from from the web service incase of failure.
Also try logging the message in the event viewer or any debug tool.
Thanks
Abhishek -
Hi everybody.
After install Biztalk 2013 and ESB Toolkit, I try to run ESB.ExceptionHandlingServices.WCF service from IIS, but it throw an exception:
The Messaging Engine failed to register the adapter for "WCF-WSHttp" for the receive location "/Test/TransformationService.svc". Please verify that the receive location exists, and that the isolated adapter runs under an account
that has access to the BizTalk databases.
I've search in google, I sure that AppPool that my BizTalk web service running under was the same account as the Isolated Host Instance. But not resolve.
Also the "ESB.TransformServices.WCF" service work fine (same account with TransformationService.svc AppPool)
Please help me! I've tried to solve 3 days but cannot.
ThanksPlease try reconfiguring the ESB Tools, there is some issue in your configurations.
If this answers your question please mark as answer. If this post is helpful, please vote as helpful by clicking the upward arrow mark next to my reply. -
Suppose my Composite opertaion request schema is as below:
<?xml version="1.0" encoding="utf-8" ?>
<Request xmlns="http://[PROJECT_NAME].[COMPOSITE_SCHEMA_NAME]">
<Insert xmlns="http://schemas.microsoft.com/Sql/2008/05/TableOp/[SCHEMA]/[TABLE_NAME]">
<Rows>
<[TABLE_NAME]>
<[FIELD1_NAME]>[Value1]</[FIELD1_NAME]>
<[FIELD2_NAME]>[Value1]</[FIELD2_NAME]>
</[TABLE_NAME]>
</Rows>
</Insert>
<[SP_NAME] xmlns="http://schemas.microsoft.com/Sql/2008/05/Procedures/[SCHEMA]" />
<Delete xmlns="http://schemas.microsoft.com/Sql/2008/05/TableOp/[SCHEMA]/[TABLE_NAME]">
<Rows>
<[TABLE_NAME]>
<[FIELD1_NAME]>[Value1]</[FIELD1_NAME]>
</[TABLE_NAME]>
</Rows>
</Delete>
</Request>
Query is that in which order the requset message will be execute? Which one statement (Insert, SP or Delete) will execute first and
Which one (Insert, SP or Delete) will execute in last?they will execute in the same order which you mentioned in the composite schema. Means they will execute order by nodes in the composite message
have a look
here , see below snap from that URL.
in your case, the order will be
1. INSERT
2. SP
3. Delete
Please mark the post as answer if this answers your question. If this post is helpful, please vote as helpful by clicking the upward arrow mark next to my reply. -
Error handling HTTP 400 in WCF-WebHttp adapter BizTalk 2013
Hi!
Does anyone knows how to catch HTTP errors when using WCF-WebHttp REST adapter in BizTalk 2013? I've looked into the article BizTalk
Server: REST Services Error Handling, but that is for BizTalk 2010 using the WCF-Custom adapter.
What I want is to catch the exception in an orchestration, and do some actions dependent on which HTTP error it is, i.e. HTTP 400.
Idar H.Hi Idar,
Welcome to BizTalk forum.
From your description above, I don't have exact same scenario like yours, this scenario exposes a BizTalk Orchestration as a RESTful webservice using WCF-WebHttp, perhaps it will be good reference for you. See:
http://blog.tallan.com/2014/09/29/wcf-webhttp-and-custom-json-error-messages/
We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
Click
HERE to participate the survey. -
Actually my WCF Custom adapter is pointing to my local machine SQL now ineed to point to my Dev environment the same send Port
like my local machines URL is mssql://HDUPEDEVBIZ\Biztalk/AfmsDevice?
i have to change now to mssql://HDUPEDEVSQLDB02\INSTANCE_1/AfmsDevice?
i get an error saying that its not a well formed URI
Any suggestions on this?mssql://HDUPEDEVSQLDB02/INSTANCE_1/AfmsDevice?
its: mssql://[ServerName]/[InstanceName if any]/[DatabaseName]?
Also remember that once you change from a local DB to a DB on another machine, MSDTC needs to be running
on both instances (Biztalk and DB), if you have UseAmbientTransaction set to true.
Morten la Cour -
Hi,
BizTalk WCF Custom Adapter - is send in a solicit response port. It works with a http address.
However, I need to point it to a Https location.
I imported the bindings, and changed the address to https. I was able to re-import the bindings. The send port gets started. But, when we try send a message via the send port, it throws an error:
Error Description: System.ArgumentException: The provided URI scheme 'https' is invalid; expected 'http'.
Parameter name: via
Any help is appreciated.
Regards,
SharmishthaThe error logs do not give any other information.
Also, security is TransportCredentialOnly, with Basic - Client Credential Type.
Regards,
Sharmishtha
Hi Sharmishtha,
TransportCredentialOnly mode
does not provide message integrity and confidentiality. It provides HTTP-based client authentication. You need to use either of the below security mode :
Transport
TransportWithMessageCredential
Rachit
Please mark as answer or vote as helpful if my reply does -
BizTalk 2013 R2 - WC-Custom Adapter SAP-Binding: Unhandeld exception on failure tests
Dear Mr./Ms.
We have set up a test environment with BizTalk 2013 R2 Developer edition.
And we have also set up the SAP adapter following this blog
https://sandroaspbiztalkblog.wordpress.com/2015/03/04/biztalk-server-20132013-r2-step-by-step-wcf-sap-adapter-installation-guide/#comments
.But instead we used a WCF-Custom adapter with SAP-Binding
Everthing works fine if BizTalk can connect to SAP. But if we do some failure test, like giving in a wrong password. We get next error in the event viewer:
Application: BTSNTSvc64.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.Runtime.CallbackException
Stack:
at Microsoft.Adapters.Internal.LayeredChannelBindingElement.LayeredAsyncResult.SignalFinished(System.Object, System.Exception)
at Microsoft.Adapters.Internal.LayeredChannelBindingElement.LayeredOutboundChannel`1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].AsyncRequest(System.Object)
at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()
at System.Threading.ThreadPoolWorkQueue.Dispatch()
We would expect that we get some kind of authentication error and a suspended message. But Instead the host instance crash and message stays in process. Thanks in advance.
Kind regards
Benny Verhamme
benny verhamme signedWe would expect that we get some kind of authentication error and a suspended message. But Instead the host instance crash and message stays in process. Thanks in advance.
Hi Benny,
Thanks for your feedback in BizTalk forum.
As you mentioned above, we will receive an unhandled exception when we did something wrong during the procedure. I'm afraid that this is "by design", if this request is urgent for you, you could consider contact support directly(http://support.microsoft.com
). Thanks for your understanding.
Best regards,
Angie
We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
Click
HERE to participate the survey.
Maybe you are looking for
-
hi gurus, i have a problem in bdc programm there is 3 screen using transaction f-27 there is two amount field as(wrbtr,wrbtr2) two screen are run fine but the 3 screen does't take data automatically from flat file plz help me its urgent see my codes
-
I've got the following problem. In game called "S. T.A.L.K.E.R" i can hear very lound sounds of shooting and very silence people conversations. I've got "Sound Blaster Audigy" and Creative Speakers.
-
Lightroom 2.1 & PSE 5 / batch conversion greyed out
Hi, I'm running Windows XP Prof and have licensed LR2 and installed RC 2.1 on top of it. In PSE 5 the batch conversion entry in the file menu is now greyed out and even a de-/install of PSE 5 didn't help. I searched in LR & PSE forum and couldn't fin
-
I have an ipod and latly I can't open iTunes store and download music when I push that icon it only shows an 10.0 upgrade i<ve upgraded and woun't me bypass and get songs. what do I do?
-
Financial Reporting - don't work condition "starts with"
Hi All, I want exclude rows from report where dimension members name start with "9", I try suppress row with condition "starts with", but this don't work. When I explore Conditional Suppression feature I got positive take only for "contains" conditio