|
Home > Archive > BizTalk Server Applications Integration > March 2004 > Problems with AICs
You are viewing an archived Text-only version of the thread.
To view this thread in it's original format and/or if you want to reply to
this thread please [click here]
| Author |
Problems with AICs
|
|
| kevin harnett 2004-03-18, 2:00 pm |
| Hi,
I a problem with some custom AICs that i have written in VB 6. There
are
basically 2 AICs.
The first AIC makes a webservices call using the SOAP 3.0 client. The
response from the client is returned to BizTalk messaging by
placing the results on an msmq, this make its way back to the schedule
via
bt messaging + correlation
The second AIC makes a ado db connection to a sql server database and
adds records if there are errors returned by the call to the
webservice.
All of the above works fine when sending single message. However if i
send a message that has worked perfectly well before in bulk to
BizTalk i start to get strange behaviour -I am doing this by copying
the message file to 128 other message files and submitting them all at
once by a file receive function.
Under heavy load some of the messages are added to the "Retry queue"
even though they are perfectly valid. The error in the log states that
there is a transport failure due to permissions problems. I am being
careful to close
all the ADO connections that have been opened and to free up objects
created.
Any ideas as to why this is happening.
I have had no luck in resolving the issue so I decided to convert the
AICs to COM components which were called directly from the schedule.
This seemed to work fine at first but then the sporadic errors
returned. In addition to this i also observed the following issues
1) The schedule get stuck and does not complete - I can see this by
viewing the modules in XLang Event Monitor
2) In some cases all or some of the messages simply disappeared
leaving no
errors in the windows logs or in my custom logging files. In the case
where all the messages disappeared the schedules did not seem even to
have been started?
All of this behaviour seems to occur when i send larger numbers of
messages at a time. The code i have written is pretty straight forward
- any suggestions would be greating appreciated.
Lastly i am finding that the executions of the schedules is on the
slow side.
If i send BizTalk 128 messages it takes about 3 minutes to complete
them all. This seems slow to me. Is there a way to improve this or am
i doing something wrong
Any suggestions would be much appreciated
Thanks
Kevin
| |
| Nick Malik 2004-03-23, 10:42 am |
| Hello Kevin,
I hate to tell you this, but VB6 components will slow down Biztalk. That's
because VB6 is not free-threaded, while Biztalk is. That's probably the
source of your speed issues. Unfortunately, your best option is to rewrite
in VB.NET or C# (whatever you are most comfortable with).
As for your intermittent errors... no clues from the error what is throwing
it? Can you trace the behavior of your AICs? If you enable one and disable
the other, do the problems still occur (to help you figure out which AIC is
messing you up?)
For a permissions problem, I'd look at the AIC that pops messages into MSMQ.
It is possible that the message is getting stuck attempting to request MSMQ
credentials on one apartment thread while another thread is actually
receiving MSMQ credentials, causing one of the threads to fail and get null
credentials, which throws an error when a message is posted to MSMQ. That's
a total SWAG, by the way, but it's a place to start.
An error in this component will also cause your messages to vanish, in all
liklihood.
I hope that this helps.
--- Nick
"kevin harnett" <kevin_harnett@hotmail.com> wrote in message
news:af09a3a9.0403171337.531e46b3@posting.google.com...
> Hi,
>
> I a problem with some custom AICs that i have written in VB 6. There
> are
> basically 2 AICs.
>
> The first AIC makes a webservices call using the SOAP 3.0 client. The
> response from the client is returned to BizTalk messaging by
> placing the results on an msmq, this make its way back to the schedule
> via
> bt messaging + correlation
>
> The second AIC makes a ado db connection to a sql server database and
> adds records if there are errors returned by the call to the
> webservice.
>
> All of the above works fine when sending single message. However if i
> send a message that has worked perfectly well before in bulk to
> BizTalk i start to get strange behaviour -I am doing this by copying
> the message file to 128 other message files and submitting them all at
> once by a file receive function.
>
> Under heavy load some of the messages are added to the "Retry queue"
> even though they are perfectly valid. The error in the log states that
> there is a transport failure due to permissions problems. I am being
> careful to close
> all the ADO connections that have been opened and to free up objects
> created.
> Any ideas as to why this is happening.
>
> I have had no luck in resolving the issue so I decided to convert the
> AICs to COM components which were called directly from the schedule.
> This seemed to work fine at first but then the sporadic errors
> returned. In addition to this i also observed the following issues
>
> 1) The schedule get stuck and does not complete - I can see this by
> viewing the modules in XLang Event Monitor
>
> 2) In some cases all or some of the messages simply disappeared
> leaving no
> errors in the windows logs or in my custom logging files. In the case
> where all the messages disappeared the schedules did not seem even to
> have been started?
>
> All of this behaviour seems to occur when i send larger numbers of
> messages at a time. The code i have written is pretty straight forward
> - any suggestions would be greating appreciated.
>
> Lastly i am finding that the executions of the schedules is on the
> slow side.
> If i send BizTalk 128 messages it takes about 3 minutes to complete
> them all. This seems slow to me. Is there a way to improve this or am
> i doing something wrong
>
> Any suggestions would be much appreciated
>
> Thanks
>
> Kevin
|
|
|
|
|