community-content

Forum Replies Created

Viewing 15 posts - 7,696 through 7,710 (of 9,652 total)
  • Author
    Posts
  • in reply to: reading lines of file #15051

    One way of doing this is using a map.
    You can create a custom Xslt based on a Schematron pattern, that will iterate thru the records creating an output for each error discovered.

    Here is a brief example.
    The test conditon can be virtually anything including script

    [code:1:33c95ab219]
    <xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\"
    xmlns:msxsl=\"urn:schemas-microsoft-com:xslt\"
    xmlns:var=\"http://schemas.microsoft.com/BizTalk/2003/var\"
    exclude-result-prefixes=\"msxsl var s0 userCSharp\"
    version=\"1.0\" xmlns:ns0=\"http://Supplier.Invoice.InvoiceValidationReport\"
    xmlns:s0=\"urn:schemas-custom-com:Invoice\"
    xmlns:userCSharp=\"http://schemas.microsoft.com/BizTalk/2003/userCSharp\">
    <xsl:output omit-xml-declaration=\"yes\" version=\"1.0\" method=\"xml\" />
    <xsl:template match=\"/\">
    <xsl:apply-templates select=\"/s0:document\" />
    </xsl:template>
    <xsl:template match=\"/s0:invoice\">
    <ns0:InvoiceValidationReport>
    <xsl:for-each select=\"line\">
    <xsl:call-template name=\"Validate\"/>
    </xsl:for-each>
    <xsl:variable name=\"var:errors\" select=\"userCSharp:GetErrorCount()\"/>
    <errorCount><xsl:value-of select=\"$var:errors\"/></errorCount>
    </ns0:InvoiceValidationReport>
    </xsl:template>
    <xsl:template name=\"Validate\">
    <xsl:choose>
    <xsl:when test=\"s0:lineNumber and s0:lineNumber/text()\" />
    <xsl:otherwise>
    <error>
    <xpath>/invoice/invoiceNumber</xpath>
    <description>Missing Invoice Number</description>
    </error>
    <xsl:variable name=\"var:e1\" select=\"userCSharp:IncrementErrorCount()\"/>
    </xsl:otherwise>
    </xsl:choose>
    </xsl:template>
    <msxsl:script language=\"C#\" implements-prefix=\"userCSharp\"><![CDATA[
    public int errorCount = 0;
    public int IncrementErrorCount()
    {
    return ++errorCount;
    }
    public int GetErrorCount()
    {
    return errorCount;
    }]]></msxsl:script>
    </xsl:stylesheet>
    [/code:1:33c95ab219]

    You can use a Decide shape after the map to check the errorCount, if greater than zero take action with the map output, otherwise continue with the original document.

    in reply to: Looping and a Decide Shape #14031

    Hi BizTalk Gurus

    I’m a newbie at this so I don’t think this will be a tough question.

    I have a master detail schema like:
    [code:1:9dff755f2d]<Order>
    <Item>blah</Item>
    <Item>blahblah</Item>
    <Item>widget</Item>
    </order>[/code:1:9dff755f2d]

    The problem is that the orchestration needs to process each <Item> and that process depends on the value of <Item>. I want to use a decide shape based on the value of <Item>. I’ve read in a tutorial to promote the Item in the schema and then use a decide shape based on that value. When I go to promote the <Item> element, I get an error message saying that I cannot promote a value that occurs multiple times.

    My 2 questions are:
    1) How do you use the Looping element in a orchestration so that I only loop x number of elements passed in?
    2) How do I use a decide shape that filter on the value of <Item>?

    Any help would be greatly appreciated.

    Thanks, Bill N

    in reply to: BizTalkServerApplication stops processing messages #14029

    We have BizTalk 2004 with the MQSeries Adapter. We place messages on a queue and the Orchestration picks them up, processes them and places them on another queue.

    Most of the time, messages are placed on the queue, the orchestration reads them, maps them from one schema to another and places the new message in another queue.

    Several times a day, the message will be placed in the input queue and sit
    there without the orchestration picking it up. I chech the BizTalk Admin
    console and the BizTalkServerApplication is still in a running state but
    nothing happens.

    HAT shows no message have been detected and no orchestrations started. Event Viewer shows no errors. I get no detectabale evidence that anything is wrong except the message sits on the input queue.

    If I stop then start the BizTalkServerApplication, the message is picked up
    and processed. For a while things will continue to work and process message when they arrive until the next time.

    The input message is of a single schema generated by the same Java code for each message sent. The schema is simple and contains no complexities that could result in different results with respect to the message itself. Since it is not being processed, it is easy to examine and no differences in the message can be found.

    in reply to: SQL Adapter #14623

    Greg,

    I am having problems with the SQL adapter where it crashes in the middle of the wizard with no error. IThe wizard is at the point where I believe I would enter the SQL statement.

    I go through the wizard to the point of Database Information –> Schema Information –> Statement Type Information, here I click next and it drops, no warning, no error. I have seen a couple of solutions that don’t work: 1. data type not supported – not an issue, I have 1 variable and have changed to severa supported data types. 2. roll back to BT 2004 to create the SQL adapter and migrate forward – not an option, we are starting new with BT 2006 Evaluation version.

    I am looking at this third option of creating the SQL adapter manually, which you reference here. Do you have instuctions on this, or some references on how to do this?

    I would really, really appreciate any help!
    Thank you!
    (I’m a newbie!)

    [quote=\”greg.forsythe\”]You need to add the schema to your project.
    1. manually create the schema to match the SQL output – not for the faint hearted.

    2. Let Biztalk/SQL create the schema for you – the preferred method.

    Project -> Add -> Add Generated Items…

    Add Adapter Metadata -> Add

    Select SQL -> Next

    Set connection string -> Next
    Specify the target namespace ( a unique string)
    Select Receive Port
    Specify root node -> Next

    Select \”Select statement\” -> Next

    Enter your select statement, which should end in FOR XML -> Next

    Finish[/quote]

    in reply to: editing EDI transport properties #14475

    an update a few months later!

    I’m able to do a conversion with no Covast EDI accelerator!
    Right now i’m having another problem, but with the EDI subsystem, I’ve made a few sucessfull conversions!

    in reply to: Space issues regarding MsgBoxDb and DTADb (help) #13909

    Must I stop the BizTal services (applications) when I run the Microsoft given purge script?
    It runs since yesterday (all the jobs), but the size of the log file doesn’t decrease (it’s now 20Gb…).

    in reply to: How to migrate project on another machine ? #13991

    What about migrating in BizTalk 2004?

    in reply to: how to decode base64binary back to jpg image? #14016

    Thank you. I use custom decoder component, and using file.io to write picture to a location with the excute method.

    Now it works.

    in reply to: Delivered, Not Consumed error Request/Response on SOAP #14026

    Hi Guys,

    I have a small test orchestration that does a couple of things:

    First, picks up file

    Second, do a transform on the message in the file and sends it to a Web Service using the SOAP adapter. It is a request / response port.

    Third, delays for 5 minutes and then finishes.

    Now the problem : When I drop in one file, no problem. However, I’ve tried putting 500 at a rate of around 10 file every 4 minutes. When I do that some orchestration instance stay \”Active\” for more than one hour before completing. I notice that those orchestration have a SOAP response sitting in the msgbox with \”Delivered, Not Consumed\”. Of course every orchestration should completed in around 5 minutes (maybe a little depending on system load. I used perfmon and my In-Memory orch # never goes higher than 50).

    Anybody has a clue ?

    Thanks

    Olivier

    in reply to: Error Message #14013

    Hi,
    Thank you for your reply.

    I am doing some tutorial from online. This is just basic tutorial. All I am doing is creating 2 XML schemas one for local and other one for destination. Then I am mapping them. Then I am creating sent and receive port with BizTalk default XML receive piple line. After that I am creating 2 XML messages and testing my project.
    The message is picked but not droped.

    2nd Error message in the Event Viewer is :
    The Messaging Engine has suspended \”1\” message(s) from adapter \”FILE\” due to failures in message processing. Please refer to Health and Activity Tracking tool for more detailed information on this failure.

    I dont know what is Orchestration. Since I just started to learn, I havent get to there.

    I am not using SOAP. I am using FILE type transaction.

    My XML message is :

    <?xml version=\”1.0\” encoding=\”utf-8\” ?>
    – <Request xmlns:xsd=\”http://www.w3.org/2001/XMLSchema\” xmlns:xsi=\”http://www.w3.org/2001/XMLSchema-instance\” xmlns=\”http://ReplenishmentSchemas.Request\”>
    – <Header xmlns=\”\”>
    <RequestID>1001</RequestID>
    <Date>2006-06-28</Date>
    </Header>
    – <Item ItemID=\”1001000001\” UnitPrice=\”10.00\” xmlns=\”\”>
    <Quantity>300</Quantity>
    <TotalPrice>3000.00</TotalPrice>
    <Description>The Main Item required for our assembly line</Description>
    </Item>
    </Request>

    Thank you,
    Suthan

    in reply to: Error Message #14011

    I don’t have any other ideas. I’m confused by two things:

    1) Why it says \”authentication failure\” – If Biztalk read the file and deleted it, that means Biztalk had security to the directory. So I don’t know where the authentication problem is coming from.

    2) Why it says \”the party corresponding to the inbound message cannot be identified\”. This sounds like a trading partner issue. I’ve seen something like that when I was sending a message to a trading partner, and you don’t identify the trading partner in the code, but you are doing a receive, not a send, so I’m confused. Also, since you are using standard Biztalk xml pipeline, it doesn’t seem like there should be a problem.

    Maybe if you provide the following – it might help (no guarantees!)

    1. Maybe you could post the XML message to the forum?

    2. Are there maybe a pair of events in the event log – sometimes for instance with SQL they tend to come in pairs, and one is more meaningful than the other.

    3. What are you going to do with the message? Does it go to an orchestration or just message routing to a send port?

    4. Are there any SOAP headers in the message?

    5. Do you have any maps tied to the Receive Port? If so, if you remove them does the problem go away?

    Hopefully somebody else has some good ideas!

    in reply to: Read in XML file from Dir, but don’t delete #15043

    Hey, Thanks all for your replies.
    This is a great message board for BizTalk assistance.

    – In the meantime, I implemented the .net approach with the file location being an appsetting value in the biztalk config file.

    – I will probably be updating this in the next iteration to extract the values from the database as this way it is more scalable and easier to manipule.

    Thanks all for your help.
    –Steven

    in reply to: Call Rules Parameters #14024

    Even more strange to me – when I make a reference to the SampleLoan.dll (in my test application), and add a message referencing the loan schema, then all of a sudden, I see paramters in my call shape, for both my policy and the loan policy. If I delete the loan message, the ability to add parameters in the \”Call rule\” shape disappear.

    This doesn’t make any sense to me.

    in reply to: Error Message #14010

    Posted: Wed Jul 12, 2006 4:55 pm Post subject: Error Message

    ——————————————————————————–

    Hi,
    I am new to BizTalk 2004. I created small project for Xml file trasfer. I
    have build and deployed the project. I have following issues:
    1) The schema doent not registered in the HAT – When i go to Find Message View in HAT I couldnt see any schema names there. Nothing there. Just empty.

    2) I am getting following Error message in the Event Viewer
    There was a failure executing the receive pipeline:
    \”Microsoft.BizTalk.DefaultPipelines.XMLReceive\” Source:
    \”Microsoft.BizTalk.Pipeline.Components\” Receive Location:
    \”file path\” Reason: There was an authentication failure. \”The party corresponding to the inbound message cannot be identified\”.

    1) Maybe somebody else knows – is this a list of all deployed schemas, or is this a \”select distinct\” of all messages actually in the tracking database?

    2) Are you using EDI? Are you using trading partners?

    See also this post:
    http://support.microsoft.com/newsgroups/default.aspx?dg=microsoft.public.biztalk.general&tid=4c0b66da-2c49-4ee9-a31e-c46aecd2d877

    in reply to: http solicit-response #14019

    …for the rapid response.

    I had already built a C# test harness outside of BTS and had started yesterday incorporating this and the receive pipeline disassembler code into a method that can be called from an orchestration, and am happy to say that it appears to work ok (though I feel it is a bit of a hack).

    I had thought about going down the custom adapter route and this is the way I’ll go in the next stage of the interface development (when time is not quite so tight!) I see that there are some articles describing how to make a custom adapter dynamic, so it should be ok…

    Anyway, thanks again for the feedback and for basically confirming the course of action that I thought I might have to take. I needed to ask though to make sure I wasn’t just mis-using the BTS HTTP adapter.

    Best regards

    Bob

Viewing 15 posts - 7,696 through 7,710 (of 9,652 total)