Re: Вопросы для Татьяны Якушевой \ BizTalk 2004 \ SDE/T \ Bi
От: Аноним  
Дата: 22.02.06 16:31
Оценка:
Я вижу это "мертвая" ветка, но на всякий случай напишу своё наблюдение:
Вызываем через SQLAdapter SP, засекаем время выполнения в оркестре, и смотрим через profiler сколько она выполняется там. Если колонки StartTime и EndTime показывают реальное время исполнения на сервере, то получаем что реальное время ~50 мс, а в оркестре ~ 700-1000 мс. Очень это напрягло. Это следствие "гарантированной доставки сообщений"? Можно как-то уменьшить время выполнения в оркестре?
Вопросы для Татьяны Якушевой \ BizTalk 2004 \ SDE/T \ BizTal
От: Аноним  
Дата: 09.04.06 06:02
Оценка:
Я не видела Бизтоковского парсера для Excel файлов, хотя наверно кто-то его уже написал. В SQL Server Integration Services есть компонент для чтения Excel файлов. Можете попробовать его.

Мне кажется что вашу задачу можно решить либо с помощью Biztalk, либо с помощью SQL Server 2005.

Таня
Данная информация предоставляется на условиях «КАК ЕСТЬ», без предоставления каких-либо гарантий и прав. Используя данную информацию, Вы соглашаетесь с тем, что (i) Майкрософт не несет ответственности за использование Вами данной информации и (ii) Вы принимаете на себя весь риск, связанный с использованием данной информации


данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Re: Вопросы для Татьяны Якушевой \ BizTalk 2004 \ SDE/T \ Bi
От: Аноним  
Дата: 09.04.06 06:11
Оценка:
Biztalk оптимизирован на обработку большого числа сообщений. Все они проходят через Message Box. Сейчас идут обсуждения планов на следующию версию BizTalk Server и low latency тоже рассматривается.

Таня
Данная информация предоставляется на условиях «КАК ЕСТЬ», без предоставления каких-либо гарантий и прав. Используя данную информацию, Вы соглашаетесь с тем, что (i) Майкрософт не несет ответственности за использование Вами данной информации и (ii) Вы принимаете на себя весь риск, связанный с использованием данной информации


данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Вопросы для Татьяны Якушевой \ BizTalk 2004 \ SDE/T \ BizTal
От: Аноним  
Дата: 19.04.06 20:08
Оценка:
Hello Tatyana
I have this problem when trying to construct message to send
MfgOrder class is a .Net class with simple attributes.
Here is the error message
There was a failure executing the send pipeline: "Microsoft.BizTalk.DefaultPipelines.XMLTransmit" Source: "XML assembler" Send Port: "c:\BasicOrchestrationMsgs\PlaceOrders\%MessageID%.xml" Reason: This Assembler cannot retrieve document specification by using this type: "MfgOrder".
C0C01302: Loading document specification <Manufacturing.MfgOrder> from assembly <Manufacturing, Version=1.0.2300.35696, Culture=neutral, PublicKeyToken=9985167d7fdf7877> failed. Verify that the schema is deployed properly and that the schema assembly implements the document spec.

Could you please help me with this problem. You can reply in russian I know it a little


данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Вопросы для Татьяны Якушевой \ BizTalk 2004 \ SDE/T \ BizTal
От: Аноним  
Дата: 25.04.06 14:40
Оценка:
Попробую спросить еще здесь.
Мне нужно чтобы BizTalk получал сообщение, где два поля типа int и string, а третье — DataSet
могу ли я определить тип элемента схемы как System.Data.DataSet? в общем случае?
вариант — сделать sequence и потом вписать структуру датасета уже знаю, но хотелось бы вот так, общий случай.
Структура мне как раз неважна, BizTalk просто будет передавать этот датасет дальше.
Спасибо
============
Всех благ, Ольга, ICQ#39196826


данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Re: Вопросы для Татьяны Якушевой \ BizTalk 2004 \ SDE/T \ Bi
От: SEDEGOFF Россия www.srcsoft.com
Дата: 26.04.06 09:32
Оценка:
Здравствуйте, olgaua, Вы писали:

O>Попробую спросить еще здесь.

O>Мне нужно чтобы BizTalk получал сообщение, где два поля типа int и string, а третье — DataSet
O>могу ли я определить тип элемента схемы как System.Data.DataSet? в общем случае?
O>вариант — сделать sequence и потом вписать структуру датасета уже знаю, но хотелось бы вот так, общий случай.
O>Структура мне как раз неважна, BizTalk просто будет передавать этот датасет дальше.
O>Спасибо
1. можно попробывать
2. Сделайте сериализацию и используя Base64 передавать далее. Приемник сделает обратное и получит датасет
O>
данное сообщение получено с www.gotdotnet.ru

O>ссылка на оригинальное сообщение
www.srcsoft.com
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re: Вопросы для Татьяны Якушевой \ BizTalk 2004 \ SDE/T \ Bi
От: Аноним  
Дата: 26.04.06 10:16
Оценка:
а можно подробнее?
1.что попробовать? создать такое поле — нифига не работает. При чем, если у меня вебсервис (ну порт, который ссылается на вебсервис) возвращает DataSet — BizTalk этот Message понимает, разбирает. А схему такого просто входящего сообщения я создать не могу.

2. чтобы принять такой сериализованный DataSet — нужно в схеме поле определить типа base64 binary? так?

Спасибо!
правда спасибо за ответ. информация ищется все еще сложно по BizTalk
============
Всех благ, Ольга, ICQ#39196826


данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Re[2]: Вопросы для Татьяны Якушевой \ BizTalk 2004 \ SDE/T \
От: SEDEGOFF Россия www.srcsoft.com
Дата: 26.04.06 10:37
Оценка:
Здравствуйте, olgaua, Вы писали:

O>а можно подробнее?

O>1.что попробовать? создать такое поле — нифига не работает. При чем, если у меня вебсервис (ну порт, который ссылается на вебсервис) возвращает DataSet — BizTalk этот Message понимает, разбирает. А схему такого просто входящего сообщения я создать не могу.
Ой. Да — так ни как не получиться.
O>2. чтобы принять такой сериализованный DataSet — нужно в схеме поле определить типа base64 binary? так?
Абсолютно верно. Как Вы понимаете это универсальный подход. Любые не стандартные данные можно перегнать в Base64 и обратно. Минус — увеличение объема на 30%

O>Спасибо!

O>правда спасибо за ответ. информация ищется все еще сложно по BizTalk
Спрашиваете — чем смогу — тем помогу.

O>
данное сообщение получено с www.gotdotnet.ru

O>ссылка на оригинальное сообщение
www.srcsoft.com
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[2]: Вопросы для Татьяны Якушевой \ BizTalk 2004 \ SDE/T \
От: Аноним  
Дата: 26.04.06 13:38
Оценка:
наверное надо прояснить, что собственно мне нужно. Оркестровка получается Message — два поля int и string и третье — этот самый, допустим, сериализованный DataSet. после некоторых преобразований, зависящих от первых двух полей — нужно создать сообщение и отправить его в порт — вебсервис.. одно из полей этого сообщения — DataSet (параметр соответствующего web-метода).

как это лучше сделать?

Десериализовать DataSet в отдельной сборке или прямо в оркестровке я не могу. так как это поле можно использовать в Map, но нельзя его сделать Promoted.

web-метод должен тоже принимать бинарные данные? и потом уже десериализовать? если да — то какой тип .Net будет соответсnвовать этому полю base64 binary?

сори, если вопросы слишком простые, но я уже изрядно запуталась.
Спасибо
============
Всех благ, Ольга, ICQ#39196826


данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Re[3]: Вопросы для Татьяны Якушевой \ BizTalk 2004 \ SDE/T \
От: SEDEGOFF Россия www.srcsoft.com
Дата: 27.04.06 10:46
Оценка:
Здравствуйте, olgaua, Вы писали:

O>наверное надо прояснить, что собственно мне нужно. Оркестровка получается Message — два поля int и string и третье — этот самый, допустим, сериализованный DataSet. после некоторых преобразований, зависящих от первых двух полей — нужно создать сообщение и отправить его в порт — вебсервис.. одно из полей этого сообщения — DataSet (параметр соответствующего web-метода).


O>как это лучше сделать?


O>Десериализовать DataSet в отдельной сборке или прямо в оркестровке я не могу. так как это поле можно использовать в Map, но нельзя его сделать Promoted.


O> web-метод должен тоже принимать бинарные данные? и потом уже десериализовать? если да — то какой тип .Net будет соответсnвовать этому полю base64 binary?


O>сори, если вопросы слишком простые, но я уже изрядно запуталась.

O>Спасибо

Добрый день.
Давайте по порядку. Что у Вас произойдет с сообщением? Будет ли изменен датасет? Будет ли изменен формат сообщения?
Если ничего не меняется в конверте — то передаете как есть.
Если меняется формат сообщения — преабразуете его используя мап или свой компонент, если возможности мап не позволят этого сделать. При этом ничего с поле базе64 делать не надо — путь проходит на прямую.
Если меняется датасет, то Base64ToBinary, десириализуете, меняете, сериализуете, BinaryToBase64.

Поле base64 — это просто текст.

Что бы разобраться — напишите или нарисуйте весь путь конверта от начала и до конца.
Например.
1. Конвер поступил в порт
2. Конверт поступил в оркестр
3. Если значение поля Q1 равно 1, то 3.1 иначе 4
3.1. Сохранить значение поля в файл C:\temp\myfile.xml
3.2 Перейти к пункту 5
4. Если значение поля S1 равно "test", то 4.1. Если "test88" то 4.2. Иначе 5.
4.1 Преобразовать входящий конверт в конверт типа 124134 и поместить в порт SendTestPort
4.2 Преобразовать входящий конверт в конверт типа 342357 и поместить в порт SendTest88Port
5. Отправить письмо админу системы о результате операции
www.srcsoft.com
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Вопросы для Татьяны Якушевой \ BizTalk 2004 \ SDE/T \ BizTal
От: Аноним  
Дата: 27.04.06 08:18
Оценка:
Здравствуйте, у меня возник такой вопрос, можно ли писать sql-запросы на BizTalk, которые будут передаваться в SQL базу другого приложения? Или есть какое — нибудь другое решение?

Спасибо за ранее.
Эльмира


данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Re[3]: Вопросы для Татьяны Якушевой \ BizTalk 2004 \ SDE/T \
От: Аноним  
Дата: 27.04.06 11:20
Оценка:
эта цепочка понятна, не понятен один момент — как взять значение этого поля? пресловутого этого base64. Promote сделать нельзя. тип не позволяет. Можно отмапить в такое же base64 — но что это даст?
мне для вебсервиса надо его десериализовать, и потом вебсервис в response вернет другой DataSet (который дальше пойдет по цепочка — сериализация и тыды..)
но вопрос — как мне передать вебсервису значение этого поля? если обратиться к нему я не могу?
============
Всех благ, Ольга, ICQ#39196826


данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Re[4]: Вопросы для Татьяны Якушевой \ BizTalk 2004 \ SDE/T \
От: SEDEGOFF Россия www.srcsoft.com
Дата: 04.05.06 05:13
Оценка:
Здравствуйте, olgaua.
Раскажу как я реализовал.
Задача: Есть набор файлов который нужно передать. Но прежде чем передать, нужно снять с них статистику. В систему попадает архив с этими файлами(Архив упакован в XML в виде base64). На выходе этот архив с небольши дополнениями.
1. Создал класс, который имеет метод, Метод на входе получает конверт. На выходе дает массив объектов (файлов).
2. Создал класс, коорый имеет метод, который на входе получает объект(файл). На выходе результат работы.
3. Создал класс, коорый имеет мотод, который на входе получает массив объектов(файлов). На выходе конверт.
В оркестре я вызываю метод первого класса. Потом в цикле обрабатываю каждый объетк(файл) используя методы второго класса. И затем вызываю в блоке конструрирования(упс) метод третьего класса.
Вот и все. В вашем случае вы можете определить формат датасета, например в виде таком
<row IDGOODS="" GOODSNAME="" GoodsPrice="" GoodsPrice=""/>

Получив датасет в виде base64 вы десириализуете его в такой Xml файл и отдаете сервису. Сервис возвращает изменный файл. Вы упаковываете его опять и передаете далее.
Как так. Если у вас датасет сериализуется/десириализуется в XML и вам не надо его архивировать, то можно его и не перегонять в base64. А просто сделать его включенным в конверт. Поясню на примере.
У вас есть датасет
<mydataset>
    <row IDGOODS="" GOODSNAME="" GoodsPrice="" GoodsPrice=""/>
</mydataset>

Вы создает конверт
<message>
    <info>
            <target>Иванов</target>
            <action>Add</action>
    </info>
    <mydataset>
        <row IDGOODS="" GOODSNAME="" GoodsPrice="" GoodsPrice=""/>
        <row IDGOODS="" GOODSNAME="" GoodsPrice="" GoodsPrice=""/>
        <row IDGOODS="" GOODSNAME="" GoodsPrice="" GoodsPrice=""/>
        <row IDGOODS="" GOODSNAME="" GoodsPrice="" GoodsPrice=""/>
    </mydataset>
</message>
www.srcsoft.com
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re: Вопросы для Татьяны Якушевой \ BizTalk 2004 \ SDE/T \ Bi
От: SEDEGOFF Россия www.srcsoft.com
Дата: 04.05.06 05:17
Оценка:
Здравствуйте, elmira, Вы писали:

E>Здравствуйте, у меня возник такой вопрос, можно ли писать sql-запросы на BizTalk, которые будут передаваться в SQL базу другого приложения? Или есть какое — нибудь другое решение?

BizTalk только выполняет последовательность действий по каким либо условиям. Я создал свою обертку со статическим методом. Туда передается строка коннекта и сам запрос. Точнее два метода. Один возврашает результат выполения, второй датасет. В результате все выглядет примерно так
SRC.Util.SQL.Executer.Run("ConnectionString", "delete from users"); :)

E> Спасибо за ранее.

E>
данное сообщение получено с www.gotdotnet.ru

E>ссылка на оригинальное сообщение
www.srcsoft.com
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[8]: Вопросы для Татьяны Якушевой \ BizTalk 2004 \ SDE/T \
От: SEDEGOFF Россия www.srcsoft.com
Дата: 04.05.06 05:20
Оценка:
Здравствуйте, vlamor, Вы писали:

V>Татьяна, а у кому можно задать этот вопрос по чтению данных в DataSet в соответствии с XML-схемой и выводом данных из DataSet в неправильном порядке?

V>Спасибо за Ваше сотрудничество.
Я не Татьяна, но скажу. Посмотри сдесь же на форумы по XML/SOAP и /NET
V>
данное сообщение получено с www.gotdotnet.ru

V>ссылка на оригинальное сообщение
www.srcsoft.com
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[4]: Вопросы для Татьяны Якушевой \ BizTalk 2004 \ SDE/T \
От: Аноним  
Дата: 04.05.06 09:17
Оценка:
продолжаю вникать
сначала по вашему объяснению-ситуации ... тот вызов в оркестровке 1. вы вызывете метод из сборки а параметром передаете собственно message? а Message содержит единственное поле типа base64?

2. как вы получаете массив файлов? или это ArrayList? вроде ж BizTalk с массивами не работает.... или вы этот массив в цикле обрабатываете в сборке ? не в оркестровке?

3. по поводу блока конструирования — опять же вопрос о массиве. как вы используете массивы?

по моей версии:
1. если делать конверт, то его преобразование обратно в DataSеt — нужно парсить Xml ? или ReadXml

спасибо. Ольга.
============
Всех благ, Ольга, ICQ#39196826


данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Re[5]: Вопросы для Татьяны Якушевой \ BizTalk 2004 \ SDE/T \
От: SEDEGOFF Россия www.srcsoft.com
Дата: 04.05.06 10:12
Оценка:
Здравствуйте, olgaua, Вы писали:

O>продолжаю вникать

O>сначала по вашему объяснению-ситуации ... тот вызов в оркестровке
O>1. вы вызывете метод из сборки а параметром передаете собственно message? а Message содержит единственное поле типа base64?
Конверт — это XML документ который попадает у вас в порт. В оркестре в блоке ресив задается имя переменной, которая содержит XmlDocument. Эта переменная может быть приведена к XmlDocument. Соответственно вы в своем методе указываете тип входящего параметра XmlDocument. Сразу раскажу о глюке. Когда в ваш метод передавется конверт как XmlDocument, то что бы с ним работать его нужно сохранить в файл. А затем создать локальную переменную XmlDocument и загрузить в нее сохраненный ранее файл. Иначе, если вы будете работать на праямую со входным параметром, начнуться ошибки. А вот в нутри своего метода вы уже получаете доступ к узлу который содержат необходимую информаци.

O>2. как вы получаете массив файлов? или это ArrayList? вроде ж BizTalk с массивами не работает.... или вы этот массив в цикле обрабатываете в сборке ? не в оркестровке?

BTS вообще ничего не умеет, кроме как выполнять последовательность действий А вот что будет в этих действиях — зависит от вас. Вы можете создать любую переменную в оркестре использую оркестрейшен вью. Писать код можно в блоке экспрешн. Массив я обрабатываю в оркестре, собственно как эксепшены.

O>3. по поводу блока конструирования — опять же вопрос о массиве. как вы используете массивы?

Можно создать переменную и арайлист. Вообще можно создать любую переменную. Для этого в оркестрейшен вью щелкаете правой кнопкой мышы на узле вариблз и выбираете пункт нью варибле. Затем выбираете в оркестрейшен вью в дереве переменную Variable_1 и переключаетесь на закладку пропертиес. Там указываете тип. Если вы выберите тип не стандартный, а какой либо другой, то необходимо в блоке экспрессион его создать. Например у вас есть класс MyNamespace1.MyNamespace2.MyClass. То в экспрессион блоке переменную этого класа вы должны проинициализаровать MyVariable = new MyNamespace1.MyNamespace2.MyClass(); Не забудте только создать ее.

O>по моей версии:

O>1. если делать конверт, то его преобразование обратно в DataSеt — нужно парсить Xml ? или ReadXml
Не совсем понял вопрос. Вы сериализацию сами писали? А, нет, наверное понял. Если сериализацию/десириализацию писали сами — то у вас уже все есть. Если только предстоит, то нужно почитать MSDN — я сейчас и не вспомню зачем был ридер создан и чем он отличается от лоадера простого документа XML/

O>спасибо. Ольга.


O>
данное сообщение получено с www.gotdotnet.ru

O>ссылка на оригинальное сообщение
www.srcsoft.com
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[5]: Вопросы для Татьяны Якушевой \ BizTalk 2004 \ SDE/T \
От: Аноним  
Дата: 04.05.06 10:26
Оценка:
так... начинаем от печки с какой версией BizTalk Вы работаете? 2004? 2006?
почему спрашиваю, потому что в 2004м написано что он с массивами не работает в принципе. потому меня удивляет Ваш ответ.
по поводу переменных — я знаю как их определять, уже сдана в опытную эксплуатацию часть системы на основе BizTalk 2004, я не понимаю как вам удается обрабатывать массивы в оркетсровке.

по поводу получения конверта.
я могу инициировать оркестровку путем получения сообщения в порт. при это должен быть указан тип этого сообщения — схема или .NET class соответствующей структуры. правильно?
сейчас по этой схеме ко мне должно прийти сообщение, содержащее XmlDocument? как Вы пишете — я не совсем понимаю как это? типом сообщения будет что? мой класс, содержащий XmlDocument?

Ольга
============
Всех благ, Ольга, ICQ#39196826


данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Re[6]: Вопросы для Татьяны Якушевой \ BizTalk 2004 \ SDE/T \
От: SEDEGOFF Россия www.srcsoft.com
Дата: 04.05.06 10:57
Оценка:
Здравствуйте, olgaua, Вы писали:

O>так... начинаем от печки с какой версией BizTalk Вы работаете? 2004? 2006?

2004.

O>почему спрашиваю, потому что в 2004м написано что он с массивами не работает в принципе. потому меня удивляет Ваш ответ.

O>по поводу переменных — я знаю как их определять, уже сдана в опытную эксплуатацию часть системы на основе BizTalk 2004, я не понимаю как вам удается обрабатывать массивы в оркетсровке.
Нашел код и посмотрел. Массив у меня завернут в мой класс. Извеняюсь что ввел в заблуждение.

O>по поводу получения конверта.

O> я могу инициировать оркестровку путем получения сообщения в порт. при это должен быть указан тип этого сообщения — схема или .NET class соответствующей структуры. правильно?
Да. И сообщение валидно для схемы. Сообщения типа .Net класса ни разу не передавал. Но предпологаю что можно передавать только объекты, которые реализуют интерфесы XML сериализации/десериализации. Я всегда передаю XML документ. Схема документа создана в отдельной сборке. Тип сообщения — соответственно имя этого XSD схемы.
O>сейчас по этой схеме ко мне должно прийти сообщение, содержащее XmlDocument?
Если вы определили схему — то да — просто XML файл.
O>как Вы пишете — я не совсем понимаю как это? типом сообщения будет что...
XmlDocument. Точнее сообщение всегда XML документ.





O>Ольга


O>
данное сообщение получено с www.gotdotnet.ru

O>ссылка на оригинальное сообщение
www.srcsoft.com
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[6]: Вопросы для Татьяны Якушевой \ BizTalk 2004 \ SDE/T \
От: Аноним  
Дата: 04.05.06 11:16
Оценка:
так, все интереснее, а можно пример кода? ну класс этот, внутри которого массив? на olgaua dog gmail dot com?
потому что мне спрятать массив для BizTalk не удалось. говорит — "Array type not supported" и все.

потому что решение с DataSet появилось на фоне того, что нужно передавать массивы, а массивы не поддерживаются.

по поводу документов — передавала и те и другие.. с классом действительно сериализуемый он должен быть, ну и доступ к полям предоставить....
можно я еще вдамся в конкретику? вот например как у вас было — приходит сообщение — которое суть сериализованное что-то в base64. как будет выглядеть xsd схема такого документа?
Спасибо, Ольга.
============
Всех благ, Ольга, ICQ#39196826


данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.