Biztalk WCF Cutom Adapter
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
Similar Messages
-
Using WCF Cutom Adapter to return CLOB (or similar)
Hi all,
I am trying to return mulitple sets of data from an Oracle table each of which exceed VARCHAR2(4000).
I wish to do this in one call to a stored procedure as the intention is to assign the returned data to a messages body parts so that I can send them as multiple seperate attachments to an email (using the SMTP adapter).
My oracle stored procedure and returned data types are as follows:
PROCEDURE get_job(
po_job_id OUT jobs.job_id%TYPE, po_endpoint OUT data.endpoint%TYPE,
po_job_type OUT job_types.job_type_id%TYPE, po_data OUT rec_data_table);
TYPE rec_data_table IS TABLE OF rec_data
INDEX BY BINARY_INTEGER;
TYPE rec_data IS RECORD (
data CLOB
--data VARCHAR2(4000));
If I do restrict the data to VARCHAR2(4000), as shown commented out in the rec_data RECORD above everything works fine.
However, to return anything larger I believe would require me to return a CLOB (even though I would probably only be returning data of a few MBytes not GBytes).
Having tried this I get the following error:
"The adapter "WCF-Custom" raised an error message. Details "Microsoft.ServiceModel.Channels.Common.TargetSystemException: ORA-03113: end-of-file on communication channel
Process ID: 499868
Session ID: 201 Serial number: 33735 ---> Oracle.DataAccess.Client.OracleException: ORA-03113: end-of-file on communication channel
Process ID: 499868
Session ID: 201 Serial number: 33735"
I am using Oracle 11gR2, BizTalk 2010 and the WCF adapter with oracle bindings.
Researching this I find conflicting information:
"LOB types: The WCF-based Oracle DB adapter provides rich support for BLOB, CLOB and BFILE types in tables and stored procedures/functions. The adapter also exposes special operations for streaming BLOB/CLOB/BFILE data in the WCF service model
interface." Source: http://blogs.msdn.com/b/adapters/archive/2007/10/29/biztalk-oracle-adapter-vs-wcf-based-oracle-db-adapter.aspx
“Due to the limitation of associative arrays, PL/SQL tables or PL/SQL tables of records that contain any of the following data types are not supported in the Oracle Database adapter:
BFILE
BLOB
CLOB ……….”
Source: http://msdn.microsoft.com/en-us/library/dd788520.aspx
Also, this post (http://social.msdn.microsoft.com/Forums/en-US/303cc67c-5e01-4ecb-ba5c-184a1d73a7f7/biztalk-wcf-adpater-oracle-store-procedure-returning-clob?forum=biztalkediandas2) seems to indicate
it is possible but there is no detail so not sure if it matches my requirements.
I have also had a quick look at the
Operate_LOB sample but not sure if this will provide me with the solution I am after as I really wanted to return an array of CLOBS (or similar).
I have seen various other posts but nothing that definitively answers my questions and from my tests I would say that I can’t easily return largish amounts of data (a few MBs) in a single element
from Oracle …. unless of course I am missing something.
Can anyone give me a definitive answer as to whether I can do what I have set out above … if not I will turn my attention to a different solution.
Many Thanks for any help/advice you can provide,
Regards,
DaveFrom your description, it can hardly give precise troubleshooting for this problem, you can
consider opening a support case with us. Visit this link to see the various support options that are available to better meet your needs:
http://support.microsoft.com/default.aspx -
How to get IDoc Status from WCF Service Adapter?
I have successfully transfered a strong typed Idoc to SAP using a BizTalk WCF Service Adapter. I did so based on this example: [http://msdn.microsoft.com/en-US/library/cc185231(v=BTS.10).aspx]. We are using the IDoc to create a purchase order. The IDocClient.Send(idoc, ref guid); method returns only a guid. I can translate that using the SapAdpaterUtilities to a transaction ID. When I look at the Idoc in WE02, I can see that it has status information which includes the purchase order number. Is there any way for me to capture this status information in my .Net application when I send the IDoc? Can I query the transaction ID? Or do I just need to get the last PO Number through an RFC?
ScottI ended up using the SAP .Net Data Provider in the Biztalk Adapter Pack to retrieve the PO Number. Essentially when you pass the IDoc you won't get anything in return unless the file transfer fails.
Scott -
Polling records from mulitiple table(61 Tables) using WCF-SQL adapter
Hi,
I would like get some suggestion from this forum. I've a scenario, in which I need to poll the records from multiple table(61) which are related and may have one to many relationship. what's the best way to poll the records from SQL table to BizTalk.
Thanks in advance..
Regards,
KarthickKarthick,
Write a SQL stored procedure with joins from your 61 tables (!!!) . Use WCF-SQL adapter to invoke the procedures.
Following references shall help you:
Executing Stored Procedures in SQL Server by Using BizTalk Server
Performing Composite Operations on SQL Server by Using BizTalk Server
Bing-Results: biztalk wcf sql
adapter polling stored procedure
I don’t know your exact requirement. Consider using SQL-SSIS for ETL process depending on your requirements. Anyway if your requirement really needs BizTalk, above suggest
should solve your problem.
If this answers your question please mark it accordingly. If this post is helpful, please vote as helpful by clicking the upward arrow mark next to my reply. -
Hello,
I have a BizTalk Server 2009 running on Windows Server 2003 x64. I am installing WCF-SAP adapter and have done the following for the same. However, I am getting an error as mentioned below when I click on the Configure button of WCF-SAP adapter in send
port. I would appreciate if anyone could let me know how to fix this error and make the WCF-SAP adapter working.
TITLE: BizTalk Server 2009 Administration Console
Exception has been thrown by the target of an invocation. (mscorlib)
ADDITIONAL INFORMATION:
Exception has been thrown by the target of an invocation. (mscorlib)
Could not load file or assembly 'Microsoft.Adapters.SAP.SAPGInvoker, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. This application has failed to start because the application configuration is incorrect. Reinstalling
the application may fix this problem. (Exception from HRESULT: 0x800736B1) (Microsoft.Adapters.SAP)
This application has failed to start because the application configuration is incorrect. Reinstalling the application may fix this problem. (Exception from HRESULT: 0x800736B1)
I have copied the following 32 bit & 64 bit unicode DLLs in SysWOW64 and System32 folders respectively.
icudt30.dll
icuin30.dll
icuuc30.dll
librfc32u.dll
libsapu16vc71.dll
libsapucum.dll
Following r3dllinst DLLs are there in System32 folder.
mfc42.dll
mfc42u.dll
mfc71.dll
mfc71u.dll
msvcp60.dll
msvcp71.dll
msvcp80.dll
msvcr71.dll
msvcr80.dll
Following r3dllinst DLLs are there in SysWOW64 folder.
mfc40.dll
mfc40u.dll
mfc42.dll
mfc42u.dll
mfc71.dll
mfc71u.dll
mfc80.dll
mfc80u.dll
msvcp50.dll
msvcp60.dll
msvcp71.dll
msvcp80.dll
msvcr71.dll
msvcr80.dll
I have the following softwares installed on the server.
Microsoft Visual C++ 2008 Redistributable x64
Microsoft Visual C++ 2008 Redistributable x86
WCF LOB Adapter SDK (64-bit)
BizTalk Adapter Pack 2.0 (64-bit)
BizTalk Adapter Pack 2.0 (32-bit)
The following bindings are also present in the machine.config under Framework\v2.0.50727\CONFIG and Framework64\v2.0.50727\CONFIG
<system.serviceModel>
<extensions>
<bindingElementExtensions>
<add name="sapAdapter" type="Microsoft.Adapters.SAP.SAPAdapterExtensionElement, Microsoft.Adapters.SAP, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
</bindingElementExtensions>
</extensions>
<client>
<endpoint binding="sapBinding" contract="IMetadataExchange" name="sap" />
</client>
</system.serviceModel>
Thanks,
TarunHave you tried this?
http://geekswithblogs.net/MoonWalker/archive/2013/07/17/could-not-load-file-or-assembly-microsoft.adapters.sap.sapginvoker.dll.aspx
Morten la Cour -
How to handle idoc documents by BizTalk without WCF-SAP Adapter?
Dear All,
our company is no customer of SAP.
But one partner company of us uses SAP Systems to generate business transactions like "INVOICE".
Then they send us such a idoc-file per email.
So I can not use the SAP-WCF Adapter by BizTalk (the download of SAP RFC SDK is constrained and only for customers) to generate a schema of such a flat file automatically.
The second problem: I believe that only the WCF Adpater can validate the structure of the infomartion in inbound idoc files.
Is there a way to solve this problem without using the WCF-SAP Adapter?
Thanks in advanceActually I only need an idoc decoder and disassembler to import the information of the idoc file.
Is there a special pipeline component by MS? -
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. -
Biztalk 2013 Wcf-webhttp adapter Issue
Hi
I am trying to get WCF-WebHttp adapter working but it is ending error.
I created a service account with Bing api (can browse this url directly by providing login credentials)
URL:
https://api.datamarket.azure.com/Bing/SearchWeb/Web?Query='WA'
These are my wcf-webhttp adapter settings
URI
https://api.datamarket.azure.com/Bing/SearchWeb
http Method and URL Mapping
<BtsHttpUrlMapping>
<Operation Method="GET" Url="/Web?Query='WA'"/>
</BtsHttpUrlMapping>
it seems template matching is failing in wcf adapter as a result Outbound URL property is not getting promoted resulting below error.
Can you please advice what is the missing piece in this configuration?
Error Message:
The Messaging engine failed to process a message submitted by adapter:WCF-WebHttp Source
URL:https://api.datamarket.azure.com/Bing/SearchWeb. Details:The published message could not be routed because no subscribers were found. This error occurs if the subscribing orchestration or send
port has not been enlisted, or if some of the message properties necessary for subscription evaluation have not been promoted. Please use the Biztalk Administration console to troubleshoot this failure.Hi
Moreover I observed one more thing with another API if URI is brows able directly without Key it works
Actual URL: https://ServerName/StoreMasterServices/Markets
URI: https://ServerName/StoreMasterServices/
Headers Info
<BtsHttpUrlMapping>
<Operation Method="GET" Url="/Markets" />
</BtsHttpUrlMapping>
This URI: https://ServerName/StoreMasterServices/
is brows able even without Key (/Markets) and it is working fine.
So Question is, is it mandatory to have URI brows able (with credentials if it needs)? -
Biztalk 2013 WCF-WebHTTP Adapter - Outbound HTTP Headers
Hi
I have a requirement to connect to a service using the WCF-WebHTTP adapter that requires authentication to be passed in the Headers.
A usercode and password is sent in the intial header and a security token is returned in the response header.
This security token is then used in the header of each subsequent call to the service.
I could not find anything in the documentation about getting and setting the "HTTP Header" data using maps or variables or using variables in the "Outbound HTTP Headers" on the adapter transport properties.
Any help on this would be gratefully received.
MalcolmYou can set the outbound HTTP header in WCF-WebHTTP adapter by 2 ways
1) At adapter level Change adapter properties
2)Changing Message context property at Orchestration or at pipeline
Its been well documented here
http://blog.codit.eu/post/2013/04/30/Using-HttpHeaders-with-WCF-WebHttp-Adapter-on-Biztalk-2013.aspx
Thanks
Abhishek -
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 -
BizTalk 2010 wcf-oracledb adapter with Oracle Database 12c
Hi,
My customer is currently running BizTalk 2010 adapter pack wcf-oracledb with Oracle 11g.
They want to upgrade the oracle database to 12c.
Is it possible to use BizTalk 2010 wcf-oracledb adapter with Oracle 12c?
Thank you.
br, JohanHi,
No it is not supported.
For the Oracle Database Adapter
Supported server versions: Oracle database version 11.1, Oracle database version 10.2, Oracle database version 10.1, Oracle database version 9.2
Supported client versions: Oracle Data Access Components for Oracle Client 11.1.0.6 with Patch Set 11.1.0.7, Oracle Data Access Components for Oracle Client 11.1.0.7
Refer:
Microsoft BizTalk Adapter Pack 2010 Documentation
Rachit
Please mark as answer or vote as helpful if my reply does -
I'm trying to replace an existing Biztalk 2006 Send BOM IDOC process, and completely remove Biztalk server from the equation. The existing Bizatalk 2006 server receives an input BOM (Bill of Materials) flat file, and using a Biztalk Map (BM08),
and Orchestration, generates an Idoc and sends it to SAP.
In my replacement C# program, I'm using the 2010 WCF-SAP Adapter, and am trying to generate the BOMMAT03 XML IDOC it to SAP.
I generated the BOMMAT03 schema from SAP using the Add Adapter Service in VS 2010. I was able to generate a BM08 XSLT from the existing BMO8 map in the current Biztalk 2006 process. I am able to run a XSLT transform on the input BOM flat
file, and generate an XML file from that.
However, I've run into a few issues. First of which, is that the XML file that is generated from the XSLT transform is NOT the same schema as the BOMMAT03 schema expects. It's somewhat similar, but different enough that I have to manually
translate between the two in my code. I've verified that both the original Bitztalk 2006 process and my replacement program use BOMMAT V3 from SAP. Question--Is Biztalk 2006 server doing some other magic to turn that transormed XML into the BOMMAT03
schema?
I ended writing code which translates the transformed XML into the BOMMAT03 schema (which is a strong typed XML IDOC at this point).
However, when I try to send the BOMMAT03 XML IDOC, I get an exception "Object reference not set to an instance of an object."
idocClient.Send(idocData, ref sadapterTxGuid);
idocData is of type BOMMAT03, and I've verified that the various fields are populated.
Any help is appreciated.Well, putting in a MSDN subscription support ticket for Biztalk server actually helped with the issue. They didn't find, or fix the issue directly. But one of the examples (https://randypaulo.wordpress.com/tag/idoc/) they sent over, jogged my
memory, and I realized in the code snippet below, I had accidentally deleted the 1st line. Such a simple mistake, yet was easy to overlook. The URL example is almost EXACTLY like my code, but without the transform and translation code to convert
from input XML file to IDOC XML. If someone is interested in that, let me know.
//Forgot the 1st line.
idocClient = new IdocBOMMAT03SIEIS_WED_BOMMAT03V3R700Client(binding, endpointAddress);
idocClient.Send(idocData, ref sadapterTxGuid);
For anyone else interested in knowing, you CAN send a strongly typed IDOC to SAP using C#.NET and the WCF SAP 2010 Adapter, using the IDOC Binding Client class you generated using the Add Adapter Service Reference in VS2010.
The one difference, which no one, not even the tech support from MS could tell me, was why the XSLT which I generated from the original map, did not transform the input BOM XML into the BOMMAT03 XML. Instead, it transformed it into an intermediate
XML, which resembled the BOMMAT03 IDOC XML, but still needed to be translated to the BOMMAT03 IDOC format.
The tech support person swore up and down that it should. But I believe that something happens in Biztalk server, after the Mapping occurs, maybe in the Pipeline, which converts that
intermediate XML into the final BOMMAT03 IDOC XML format.
I do think that the examples are severely lacking in showing how to send a strong typed IDOC using C# and the WCF-SAP Adapter. Even worse, the examples are completely lacking in how to actually generate a weakly typed IDOC. They show how to send
that weakly typed IDOC, but show me, or give me a class to be able to generate it.
I realize that this is not quite the "recommended way" to do it, but in reality, not everyone wants or even needs a full Biztalk installation. For some simple stuff like this, a C#.NET program and WCF-SAP adapter do the trick. -
Hello Everyone, Actually i want to use WCF-Sql adapter for that i already install WCF-LOB adpater , but still in Visual studio i am getting error "Add Adapter service reference is not supported".
Hi,
Since you have installed WCF-LOB Adapter pack.You can select WCF-Custom from the adapter and select SQL binding from the bindings tab and use it. -
Error while posting to Webservice using WCF-BasicHttp adapter
Hi,
I am getting the below exception when i am posting a request to a .asmx webservice using the Wcf-BasicHttp adapter.
I am able to call the same service with the SOAP adapter successfully. Could you please let me know any resolutions for the same.
The adapter failed to transmit message going to send port "MySendPort" with URL "http://myservice.com/Web.Services/service1.asmx". It will be retransmitted after the retry interval specified for this Send Port. Details:"System.ServiceModel.ProtocolException:
The content type text/html; charset=utf-8 of the response message does not match the content type of the binding (text/xml; charset=utf-8). If using a custom encoder, be sure that the IsContentTypeSupported method is implemented properly. The first 1024 bytes
of the response were: '
<html>
<head><link rel="alternate" type="text/xml" href="/Web.Services/Service1.asmx?disco" />
<style type="text/css">
BODY { color: #000000; background-color: white; font-family: Verdana; margin-left: 0px; margin-top: 0px; }
#content { margin-left: 30px; font-size: .70em; padding-bottom: 2em; }
A:link { color: #336699; font-weight: bold; text-decoration: underline; }
A:visited { color: #6699cc; font-weight: bold; text-decoration: underline; }
A:active { color: #336699; font-weight: bold; text-decoration: underline; }
A:hover { color: cc3300; font-weight: bold; text-decoration: underline; }
P { color: #000000; margin-top: 0px; margin-bottom: 12px; font-family: Verdana; }
pre { background-color: #e5e5cc; padding: 5px; font-family: Courier New; font-size: x-small; margin-top: -5px; border: 1px #f0f0e0 solid; }
td { color: #000000; font-family: Verdana; font-size: .7em; }
h2 { font-size: 1.5em; font-weight: bold; margin-top: 25px; margin-bottom: 10px; border-to'.
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)".
Regards,
Ujjwal
-UjjwalWhere does the HTML indicate that the Service is not running??
The error message " The content type text/html; charset=utf-8 of the response message does not match
the content type of the binding (text/xml; charset=utf-8)" points to a bug in the WCF-BasicHttp described here:
http://social.msdn.microsoft.com/Forums/en-US/11796bf5-ba6a-4878-977e-5c854642f67c/the-content-type-textxml-charsetiso88591-of-the-response-message-does-not-match-the-content?forum=biztalkgeneral
Although not 100% the same, the conclusion here was to still use the old Adapter :-(
Morten la Cour -
Custom headers are not exported correctly in the bindings for the WCF-WebHttp adapter
I have an annoying issue with the bindings for the WCF-WebHttp adapter.
As you know, the "Messages" tab of the WCF-WebHttp transport properties enables a developer to configure a number of static outbound HTTP headers. When I've entered two or more headers in the textbox, the CRLF between individual headers will be
stripped after a bindings import. This means I cannot call RESTful services that require more than one custom HTTP header in a messaging-only scenario, because BizTalk goofs up the configuration.
For example, when I enter the following headers in the textbox:
Then export the bindings, and immediately import the bindings again (untouched), the textbox now shows:
I did some brief analysis, and within the binding file's XML, the HttpHeaders property (contained in the TransportTypeData element) is not encoded/escaped in any way, so therefore the significant whitespace (in this case CRLF) that needs to be preserved
is lost in the import process.
Can anyone reproduce this and can anyone think of a workaround (without resorting to an orchestration)?I did some brief analysis, and within the binding file's XML, the HttpHeaders property (contained in the TransportTypeData element) is not encoded/escaped in any way, so therefore the significant whitespace (in this case CRLF) that needs to be preserved
is lost in the import process.
+1
Maybe you are looking for
-
Transfer files from one directory to another using HTTPS message protocol
My client has an requirement where the source files are in different directory and they need to be placed in a target directory with the same filename..it looked simple so far... but the actual complexity is that the source files are on a Novell serv
-
How can I transfer pictures from my pc to my iPhone through iTunes
Hey how can I putpictures from my windows vista computer to my iTunes, o then I can put it on they iPhone 4s? Thanks!
-
I do not wish to have tabbed browsing, period! I want ALL links to open in a new window, ALWAYS! Every time I restart Firefox, the box checks itself back on. This has been going on for the past several YEARS. Beyond frustrating. Chrome is looking bet
-
I have encountered a core dump problem on weblogic server 6.1 SP5 the error message as below, I am using weblogic oci driver for oracle "libweblogicoci37.so" anyone can help? An unexpected exception has been detected in native code outside the VM. Un
-
Download error 101 - even though plenty of disk space available
Trying to download/ install Elements 12 and keep getting the error 101 message - have ample disk space - this on windows 7 using Internet explorer.