dynamic msmq

Hi

i want to do dynamic msmq port but it is not working.. in expression shape i m giving

Port_2(Microsoft.XLANGs.BaseTypes.Address)="FORMATNAME:DIRECT=OS:WIN-EF7I1FBOEOE/PRIVATE$/bora/" +"%MessageId%.xml";

OR

DynamicSendPort(Microsoft.XLANGs.BaseTypes.Address)=@"msmq://machinename.\private$\MyQueue";

but both the code r not working.

also tell me what property i have to give in message so that message can route

to destination

Please help me on this.

Thanks

Piyush bohra

June 17th, 2013 8:32am

Refer to http://social.technet.microsoft.com/Forums/en-US/biztalkr2adapters/thread/f0fce10a-2a52-4469-95e6-e350b4d249c8 where the same issue has been resolved.

Regards.

Free Windows Admin Tool Kit Click here and download it now
June 17th, 2013 8:39am

Hi Piyush,

Can you try something similar to the following:

msg(MSMQ.BodyType) = 8209;
msg(MSMQ.Transactional) = false;
msg(MSMQ.SegmentationSupport) = false;
msg(MSMQ.UseAuthentication) = false;
msg(MSMQ.Timeout) = 0;
SPort(Microsoft.XLANGs.BaseTypes.Address) = "msmq://" + strDestinationQueueName;
 

Do you get any error in the event log? Can you post any error you get?

http://social.msdn.microsoft.com/Forums/en-US/biztalkgeneral/thread/e0d74229-c810-4cb3-89ba-465bf73dfa

June 17th, 2013 8:40am

Hi,

In event log it is giving error like this

A message sent to adapter "MSMQ" on send port "DynamicPort_1.0.0.0_DynamicPort.BizTalk_Orchestration1_Port_2_718f422cf36b3a86" with URI "MSMQ://win-ef7i1fboeoe/private$bora/%MessageId%.xml" is suspended.

Error details: The following exception: "Length cannot be less than zero.

Parameter name: length" was thrown by MSMQ. This can be caused by a badly formatted queue path, if this is a Dynamic Send check the URI in the message. 

MessageId:  {812D73DA-ACA7-4E1F-B5D6-BFB45136F314}

InstanceID: {9B0B20CB-58E5-4EF2-9EA2-56883F95C6A0}

thanks /piyush bohra

Free Windows Admin Tool Kit Click here and download it now
June 17th, 2013 9:28am

Hi,

In event log it is giving error like this

A message sent to adapter "MSMQ" on send port "DynamicPort_1.0.0.0_DynamicPort.BizTalk_Orchestration1_Port_2_718f422cf36b3a86" with URI "MSMQ://win-ef7i1fboeoe/private$bora/%MessageId%.xml" is suspended.

Error details: The following exception: "Length cannot be less than zero.

Parameter name: length" was thrown by MSMQ. This can be caused by a badly formatted queue path, if this is a Dynamic Send check the URI in the message. 

MessageId:  {812D73DA-ACA7-4E1F-B5D6-BFB45136F314}

InstanceID: {9B0B20CB-58E5-4EF2-9EA2-56883F95C6A0}

thanks /piyush

June 17th, 2013 9:48am

hi,

thanks to all.

@shankychil--i removed that..it is nt working and giving error

xlang/s engine event log entry: Uncaught exception (see the 'inner exception' below) has suspended an instance of service 'DynamicPort.BizTalk_Orchestration1(766781bc-10e0-d9ef-0afd-9270cc19e0b6)'.

The service instance will remain suspended until administratively resumed or terminated.

If resumed the instance will continue from its last persisted state and may re-throw the same unexpected exception.

InstanceId: b6061dc8-7c21-4828-9812-9e5af892c571

Shape name: Send_1

ShapeId: 590e51ed-efcf-422f-8322-c5d557e116ca

Exception thrown from: segment 1, progress 17

Inner exception: Failed while attempting to send message 'Message_1'.

       

Exception type: SendFailedException

Source: Microsoft.XLANGs.BizTalk.Engine

Target Site: Void WriteMessageState(Microsoft.BizTalk.Interop.IBTPEPInfoLookup, System.Guid, Microsoft.XLANGs.BaseTypes.XLANGMessage, Microsoft.XLANGs.Core.Segment, System.String, System.String, System.Collections.IList, Boolean, System.Collections.IList)

The following is a stack trace that identifies the location where the exception occured

   at Microsoft.BizTalk.XLANGs.BTXEngine.BTXXlangStore.WriteMessageState(IBTPEPInfoLookup pepLookup, Guid portId, XLANGMessage msg, Segment seg, String opname, String url, IList promoteProps, Boolean track, IList toPromote)

   at Microsoft.BizTalk.XLANGs.BTXEngine.BTXLogicalPortBinding.SendMessage(XLANGMessage msg, XlangStore store, Segment seg, OperationInfo op, IList additionalProps, IList toPromote, Boolean ignoreRoutingFailure)

   at Microsoft.BizTalk.XLANGs.BTXEngine.BTXPortBase.SendMessage(Int32 iOperation, XLANGMessage msg, Correlation[] initCorrelations, Correlation[] followCorrelations, Context cxt, Segment seg, ActivityFlags flags)

   at DynamicPort.BizTalk_Orchestration1.segment1(StopConditions stopOn)

   at Microsoft.XLANGs.Core.SegmentScheduler.RunASegment(Segment s, StopConditions stopCond, Exception& exp)

Additional error information:

        The Messaging Engine could not send the message to the dynamic send port. The outbound transport could not be resolved because a matching transport protocol prefix could not be derived from the URL "FORMATNAME:DIRECT=OS:WIN-EF7I1FBOEOE/PRIVATE$/bora".

       

Exception type: COMException

Source:

Target Site: Void PostToSendPort(System.Guid ByRef, Microsoft.BizTalk.Agent.Interop.IBTMessageBatch, Microsoft.BizTalk.Agent.Interop.IBTMessage, System.String, System.String, Microsoft.BizTalk.Interop.IBTMMessageList ByRef)

The following is a stack trace that identifies the location where the exception occured

   at Microsoft.BizTalk.Interop.IBTPEPInfoLookup.PostToSendPort(Guid& sendPortID, IBTMessageBatch batch, IBTMessage msg, String operationName, String url, IBTMMessageList& dlMsgList)

   at Microsoft.BizTalk.XLANGs.BTXEngine.BTXXlangStore.WriteMessageState(IBTPEPInfoLookup pepLookup, Guid portId, XLANGMessage msg, Segment seg, String opname, String url, IList promoteProps, Boolean track, IList toPromote)

        thanks

piyush

Free Windows Admin Tool Kit Click here and download it now
June 17th, 2013 9:58am

"The outbound transport could not be resolved because a matching transport protocol prefix could not be derived from the URL ". Can you try your send port BaseTypes.Address property like this..

Port_2(Microsoft.XLANGs.BaseTypes.Address)= @"MSMQ://FORMATNAME:DIRECT=OS:WIN-EF7I1FBOEOE\PRIVATE$\bora";

And also check the following article for dynamic send port using MSMQ:

Sending large messages to MSMQ via Dynamic Send Ports

June 17th, 2013 10:00am


Hi,

Just want to share my knowledge with the updates of Ashwin post.

After spending 4hrs in MSMQ dynamic port, it worked on the MSMQ using dynamic port.

Please find the below code which I have implemented for MSMQ dynamic port

msgPLM(MSMQ.BodyType)=8209;
msgPLM(MSMQ.Transactional) = false;
msgPLM(MSMQ.SegmentationSupport) = false;
msgPLM(MSMQ.UseAuthentication) = false;
msgPLM(MSMQ.TimeOut) = 5;



prtSendToPLM(Microsoft.XLANGs.BaseTypes.Address) = PAL.EAI.BizTalk.Common.CustomComponents.SSOClientHelper.Read("PAL.EAI.BizTalk.PLM",strTableName);
prtSendToPLM(Microsoft.XLANGs.BaseTypes.TransportType) = "MSMQ";



SSO Value:


strTableName= msmq://FORMATNAME:DIRECT=OS:Plrsg281\Productupdate
It worked. If you have any issue post it in this
Free Windows Admin Tool Kit Click here and download it now
August 10th, 2015 5:57am

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics