Biztalk Pipeline Issue - EDI Classification Failure - biztalk

I am running into an issue with a BizTalk project that I am creating to turn system XML into an EDI document. There error that I am getting is:
There was a failure executing the send pipeline:
"Microsoft.BizTalk.Edi.DefaultPipelines.EdiSend, Microsoft.BizTalk.Edi.EdiPipelines, Version=3.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" Source: "EDI Assembler" Send Port: "PRX_SureCost_Out" URI: "C:\Users\rubyhaus\Desktop\SCA-EDI\%MessageID%.x12" Reason: A message was encountered with root element name of purchaseOrderResponse. It could not be classified as an X12 or Edifact message. The root namespace was
From all my investigation, it seems that either my XML is not being mapped which I have setup up from the receive port to move from a internal XML output to a standard http://schemas.microsoft.com/BizTalk/EDI/X12/2006#X12_00401_855 or it has something to do with my agreement not resolving properly. I been trying to resolve for the past two days and have not been able to find a reason.
Any suggestions would be very helpful.

It's because PurchaseOrderResponse is not being mapped to the 855 Schema.
If you have configured a Map on the Receive Port, most likely, you are not running the XmlDisassembler, such as in the XmlReceive Pipeline.
The XmlDisassembler id what 'types' the message so it can re resolved by other components such as Port Maps.

Related

EG getting restarted when ESB tries to fetch data from an external system over TCPIP connection for more than 59 times

One ESB SOAP application which is developed on IIB 10 is connecting to an external system, say system A, over TCPIP protocol.System A has exposed many services and ESB application will put the request on the TCPIP server and listen to the same server for the responses.Request is put via TCPClientOutput node and response is received via TCPClientReceive.ESB application has to fetch the data depends on the length of output response.The responses will be obtained as bit streams and in each stream, indication of next response will be there. For a particular service exposed by the system A, when ESB application tries to fetch the data for more than 59 times(count varies,minimum count observed is 59), the EG is getting restarted.Please find the application error log below:
Error Code :4374; Error Text :CallObjectMethod() failed calling toString
BIP2121E: The thread bootstrap code caught an unhandled exception on thread number '8966' with name 'com.esb.SoapAdapter
That sounds like an error in the SOAP framework (so not necessarily connected with TCP/IP at all). I suggest that you open a ticket with IBM, as BIP2121 is often the symptom of an uncaught exception in the IIB product.

BizTalk: BTAHL72XReceivePipeline Pipeline Component

I've set-up two applications, one with FILE Receive Port and the other with a Send Port subscribing to that Receive Port with filter set as BTS.ReceivePortName == {ReceivePortNameHere}. I'm using BizTalk 2013 R2.
In the Receive Port, I'm using the pipeline 'BTAHL72XReceivePipeline'. And, in the Send Port, I'm using the pipeline 'BTAHL72XSendPipeline'.
When I drop a HL7 message into the Receive Port file location, it produces the error:
The Messaging engine failed to process a message submitted by
adapter:FILE Source URL:E:\InboundToBizTalk\*.hl7. 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.
However, I do have a subscription set. Why is this error occurring? Is there an issue with the pipeline component or the way I am using it?
On the Group Overview page search for "Subscriptions" and filter based on your Send port name.
Verify that you see an activation Subscription and confirm that the filter conditions on the subscription are correct.
The by far most likely causes:
A typo between the Receive Port Name and the value in the Filter.
The Send Port is not Enlisted or Started.
Do not use quotes in the filter property.
Turned out to be ACK which could not be routed therefore causing the whole flow to error. For an MLLP transport type, it is two way thus the ACK can be routed. For a FILE transport type, it is one way therefore ACK needs to be accounted for separately.
To get around this, another port was created which would subscribe to the ACK.

XML message not transformed using orchestration once application is deployed

The xml messages coming out of my send port do not reflect my orchestration used to transform the message.
Although I tested the message map and observed the expected transformation of XML, I am confused on how to test the orchestration that uses the map.
The orchestration has the following:
ReceiveMessage
ConstructMessage => Transform
SendMessage
After I deployed the Biztalk application and provided source messages to the instance, I observed that the messages coming off the send port still do not reflect the expected transformation. Instead, these messages have the same format as the source XML schema.
NOTE:
I am learning Biztalk.
I have stopped and restarted the server instance within the Administration Console.
If this is the first time you have tried this, it's probably because the Message isn't making trough the Orchestration because the Ports aren't Bound properly. Make sure the Deployed Orchestration is Bound to the right Receive Port and Send Port (and Host) and Enabled.
If you're using PassThruReceive then I suspect that you have some other filter set for your Send Port and that your Orchestration is not even instantiating. Try using the XmlReceive pipeline. This will run the XmlDissasembler mentioned above which will read the namespace and root node and publish the message to the message box.
I suspect that you are subscribing in your Orch by message type, in which case, will pick up the message. When this happens, if you get 2 messages output, then you do indeed have another filter on your send port.

BizTalk 2013 AS/2 issues

Currently I'm working on a project on which I need to send a PDF file over AS/2 using BizTalk.
Now, everything is setup in BizTalk.
However, I have an error message in BizTalk saying the following:
The receive pipeline:"Microsoft.BizTalk.EdiInt.DefaultPipelines.AS2Receive,
Microsoft.BizTalk.Edi.EdiIntPipelines, Version=3.0.1.0, Culture=neutral,
PublicKeyToken=31bf3856ad364e35" is trying to suspend a message received on Receive
Location:"/xxx/BTSHTTPReceive.dll". The Adapter/Receive Location however is configured
to never suspend messages on failure. Please change either the receive location or
receive adapter's configuration or the pipeline's configuration.
If I configure the adapter to suspend messages on failure it does work partially. However, I want to get it working with this setup. Is there any way to figure our why my messages are being suspended?
The warning message that follows on the error is the following:
The adapter failed to transmit message going to send port "SendPDFToxxxxOverAS2" with
URL "http://localhost/xxxx/BTSHTTPReceive.dll". It will be retransmitted after the retry
interval specified for this Send Port. Details:"The remote server returned an error:
(500) Internal Server Error.".
I hope someone can make some things clear.
In order to make narrow down the search, I've also removed the checkbox to send and request MDN's in the agreement.
I've found the issue myself.
"Return correlation handle on success" should be off.
"Suspend failed requests" should be on.
Thanks for the help anyway.
Kr

A message received by adapter "HTTP" on receive location "Receive_AS2" with URI "/Contoso/BTSHTTPReceive.dll" is suspended

I'm developing a demo of EDI over AS2 with asynchronous MDN but receiving this error upon executing Sender.exe, this error is shown in Event Viewer...
A message received by adapter "HTTP" on receive location "Receive_AS2" with URI "/Contoso/BTSHTTPReceive.dll" is suspended.
Error details: The output message of the receive pipeline "Microsoft.BizTalk.EdiInt.DefaultPipelines.AS2EdiReceive, Microsoft.BizTalk.Edi.EdiIntPipelines, Version=3.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" failed routing because there is no subscribing orchestration or send port.
The sequence number of the suspended message is 3.
MessageId: {D81813E2-9057-41CD-8A44-1528AEF85476}
InstanceID: {2B08DCAF-3D26-4BFC-AB04-8282891AA399}
I don't know what is going wrong , I followed MSDN tutorial line to line but its not executing right....
Can someone please help me?
Ben, the line '...failed routing because there is no subscribing orchestration or send port' is the key one here. You need to have either a Send Port or Orchestration subscribing (i.e. listening) for messages that are received.
Not knowing your specific application, I would suggest that you either don't have a subscribing Send Port or Orchestration, or they are not started.
This MSDN Forum post might help as well.

Resources