Runtime Error

Viewing 1 reply thread
  • Author
    Posts
    • #13121

      Hi,

      SQL adapter gives me number of Email ID as response and i want to send a mail to each of these Email ID. So SMTP port has been created in biztalk orchestration. It is deployed successfully. But at runtime it gives me error as
      [b:368549182f]
      There was failure executing the send pipeline \”Microsoft.Biztalk.DefaultPipeline.XMLTransmit\”
      Sources: \”XML assemble\” Send port \”mailto:\”
      Reason: The assembler cannot retrive document specification by using this type \”http://Loop_Message#ut\”[/b:368549182f]

      How can i resolve this problem?

      Thanks in advance.

    • #13122

      I have tried it with PassThruTransmit pipeline but still it gives me error as follows:

      [b:c439e7277a]The adapter failed on an attempt to transmit a message going to send port with the address \”Mailto:\” Details: \”At least one receipient is required but none were found\”[/b:c439e7277a]

      I think that it gives me empty message. But when I had taken the output of SQL response adapter in Folder without breaking message it gives me whole XML file.

      So how can i resolve this problem?

      Thanks in advance.

      • #13123

        I am using dynamic Port to send a mail to the Email addresses which are coming from database.

        SQL adapter Response schema is as follows:
        <LoopMessage_IdeaSend_Resp>
        <ot>
        <ut>
        <RMail>zasds</RMail>
        </ut>
        <orderID>hfh </orderID>
        <status>fgfdg</status>
        </ot>
        </LoopMessage_IdeaSend_Resp>

        I have created another schema consists of only one node as

        <Schema>
        <ut><Email>cxv</Email></ut>
        </Schema>

        Also i have promoted this Email node. And sending mail to Email address coming from this schema. Before that, a Email address is assigned to message by using following code in Expression box..

        Xpathst = system.string.Format(\”/*[local-name()=’LoopMessage_IdeaSend_Resp’]/*[local-name()=’ot’]/*[local-name()= ‘ut’]{[0]}\”,i)

        MailMsg= xpath(Insert_idea_Resp.parameters, Xpathst);

        i = i+1;

        MailMsg is a message created from second schema.

        Now sending mail to address as

        \”mailto:\” + MailMsg.Email

        I have also used a custom pipeline with the MIME/SMIME encoder component at Send port.

        • #13124

          Sorry for not giving you proper information..

          In a schema of SQL adapter i have multiple <ut> nodes under single <ot> nodes. Means for single orderId there are multiple Email addresses of whom i have to send mail.

          Here i am sending MailMsg via Mail (For testing purpose). I have to send different body to that Email. It will be consider later on.

          I have taken the count of Email addresses within that <ot> node through Xpath. and \”i\” is intialized to 0 when i<= count loop get terminate.

          Your xpath seems to have an error:
          Quote:
          Xpathst = system.string.Format(\”/*[local-name()=’LoopMessage_IdeaSend_Resp’]/*[local-name()=’ot’]/*[local-name()= ‘ut’]{[0]}\”,i)
          The brackets around the format variable should be the other way [{0}] or you could use the position() function

          How i can give format variable in other way or use position function?

          Please give me reply as early as possible.

          Thanks

          • #13125

            That error means your message is not recognized and by default you can not send un recognized messages using the Xml Transmit Pipeline.

            Have you tried it with the pass through pipeline rather than the XML Transmit?

            • #13126

              The first error is due to the fact that the XmlDisassembler cannot find the schema for message type http://Loop_Message#ut.

              I am assuming you retrieve a message from SQL and break it apart in an orchestration so you have not declared a schema for the message fragments. This is not a problem as long as you use the Passthru pipeline.

              The second problem is due to no email address specified in the adress Url for the port.

              Are you using a dynamic port.
              Where does the email address come from.
              How are you assigning the email address.

              In order to send email using the SMTP adapter you will need to use a custom pipeline with the MIME/SMIME encoder component.

              • #13127

                In your message from SQL:

                <LoopMessage_IdeaSend_Resp>
                <ot>
                <ut>
                <RMail>zasds</RMail>
                </ut>
                <orderID>hfh </orderID>
                <status>fgfdg</status>
                </ot>
                </LoopMessage_IdeaSend_Resp>

                How does this message loop. Are there multple <ot> nodes or multiple <ut> nodes.
                Do you get one <ot> record that you email to multiple people or do you have multiple <ot> records that each get mailed to one person?
                What message are you sending via email?
                When does the loop stop?

                Your xpath seems to have an error:
                [quote:0c3aa6b6a4]Xpathst = system.string.Format(\”/*[local-name()=’LoopMessage_IdeaSend_Resp’]/*[local-name()=’ot’]/*[local-name()= ‘ut’]{[0]}\”,i) [/quote:0c3aa6b6a4]The brackets around the format variable should be the other way [{0}] or you could use the position() function.

                Have you considered extracting the email address into a string variable rather than a message.
                [code:1:0c3aa6b6a4]Xpathst = system.string.Format(\"string(/*[local-name()=’LoopMessage_IdeaSend_Resp’]/*[local-name()=’ot’]/*[local-name()= ‘ut’ and position()={0}]/*[local-name()=’RMail’])\",i)

                emailVar = xpath(Insert_idea_Resp.parameters, Xpathst);
                Address = \"mailto:\" + emailVar;[/code:1:0c3aa6b6a4]

Viewing 1 reply thread
  • The forum ‘BizTalk 2004 – BizTalk 2010’ is closed to new topics and replies.