Elton Stoneman

  Home  |   Contact  |   Syndication    |   Login
  120 Posts | 0 Stories | 3607 Comments | 0 Trackbacks

News

Archives

Post Categories

[Source: http://geekswithblogs.net/EltonStoneman]

Using LoadGen 2007 to submit messages with a complex SOAP header, I had a strange issue with the standard SOAP transport. The SOAP transport has two parameters for wrapping the input file into a SOAP envelope:

<Parameters>

<URL>http://x/ESB.ItineraryServices.Response/ProcessItinerary.asmx</URL>

<SOAPHeader>SOAPAction: "http://microsoft.practices.esb/Process/SubmitRequestResponse"</SOAPHeader>

<SOAPPrefixEnv>&lt;?xml version=&quot;1.0&quot; …</SOAPPrefixEnv>

<SOAPPostfixEnv>&lt;/Root&gt;&lt;/SubmitRequestResponse&gt…</SOAPPostfixEnv>

<IsUseIntegratedAuth>False</IsUseIntegratedAuth>

<LatencyFileName></LatencyFileName>

<ResponseMsgPath></ResponseMsgPath>

<DstEncoding>utf-8</DstEncoding>

</Parameters>

 

- note the ellipses above are for brevity and are not in the actual LoadGen config file.

When the transport gets called, it opens an HTTP request and sends the SOAP envelope by writing three sets of byte arrays to the request stream: the value of SOAPEnvPrefix, the contents of the input file, then the value of SOAPEnvPostfix. All the byte arrays are encoded to the value specified by DstEncoding. When I used this configuration to send a message it was being rejected by the endpoint as a bad request. Trapping the request with Wireshark, it looked like this:

It looks as though LoadGen has injected an ellipsis before each part of the message it built – the envelope prefix, the input file contents and the envelope postfix all start with an ellipsis in which is not in the original. The request is malformed and rejected by the service.

Initially I thought this was something strange in how Wireshark was showing the results and wasn't actually part of the message, so I checked further and found that the XML escapes weren't set correctly. The SOAP header is an ESB Guidance itinerary which contains escaped XML for CDATA sections – to enter it as the SOAPEnvPrefix parameter meant escaping the escapes, so &lt;!CDATA[]&gt; becomes &amp;lt;!CDATA[]&amp;gt; in the parameter and is rendered correctly. But the issue remained, and so did the ellipses. Copying the full request into Web Service Studio produced the same result, but cutting out the ellipses meant it processed correctly.

With time accumulating on what should have been a simple task, I checked out the SOAPTransport code and could see nothing that was causing this. Debugging the call didn't show any ellipsis characters being written, and modifying it to produce a single string of the header, body and footer before encoding made no difference. In the end I created a modified transport which takes a full SOAP envelope as the input file, doing away with the envelope parameters altogether.

This worked fine, didn't render any ellipses – although the code is very similar to LoadGen's SOAPTransport class – and was happily processed. It has the advantage that you can capture a full message with Wireshark, save it and use it in LoadGen without having to extract the header. It's on the MSDN Code Gallery here: Sixeyed.Samples (Sixeyed.Samples.LoadGen.Transports.AlternativeSOAPTransport).

Configuration is very similar to the standard transport, just specify the assembly and remove the SOAP envelope parameters:

<Transport Name="SOAP">

<Assembly>Sixeyed.Samples.dll/Sixeyed.Samples.LoadGen.Transports.AlternativeSOAPTransport</Assembly>

</Transport>

<Parameters>

<URL>http://x/ESB.ItineraryServices.Response/ProcessItinerary.asmx</URL>

<SOAPHeader>SOAPAction: "http://microsoft.practices.esb/Process/SubmitRequestResponse"</SOAPHeader>

<IsUseIntegratedAuth>False</IsUseIntegratedAuth>

<LatencyFileName></LatencyFileName>

<ResponseMsgPath></ResponseMsgPath>

<DstEncoding>utf-8</DstEncoding>

</Parameters>

 

But I'm still puzzled about those ellipses from the standard SOAP transport.

  • Share This Post:
  • Share on Twitter
  • Share on Facebook
  • Share on Technorati
posted on Tuesday, February 24, 2009 6:33 PM

Feedback

# re: Alternative SOAP Transport for LoadGen 12/15/2009 2:57 PM Joe Mikolajczyk
Byte order mark is causing the ellipses.

http://en.wikipedia.org/wiki/Byte_order_mark

# re: Alternative SOAP Transport for LoadGen 3/4/2010 3:16 AM david
Byte order mark is causing the ellipses.Data Recovery Software|Guard Process

# re: Alternative SOAP Transport for LoadGen 3/4/2010 3:17 AM Robin
Byte order mark is causing the ellipses.good!Restore Deleted Files|进程保护

# re: Alternative SOAP Transport for LoadGen 3/24/2010 9:19 PM MuratCan
hehesohbet

# re: Alternative SOAP Transport for LoadGen 4/6/2010 6:48 PM mp3 song free download
great article, I love this blogs

part time jobs search engine

# re: Alternative SOAP Transport for LoadGen 4/27/2010 8:21 AM ipad scrapbook app
Hi, your website's design is first-class and i like it. Your articles are totally amazing. Please continue this great work.Keep it up.

# re: Alternative SOAP Transport for LoadGen 5/12/2010 5:53 AM affitto sardegna
It sounds really interesting. Useful information about Alternative SOAP Transport for LoadGen. Thanks a lot for sharing.

# re: Alternative SOAP Transport for LoadGen 5/29/2010 5:58 AM case vacanza sardegna
This one is the blog which I like most,I would like to thanks that master brain who make all this for the readers like me.keep up writing good.

# re: Alternative SOAP Transport for LoadGen 5/29/2010 6:44 AM Residence isola d'Elba
Its nice to read a useful article for beginner like me.Some of points from this article are very helpful for me as I haven’t considered them yet.I would like to say thank you for sharing this cool article.

# re: Alternative SOAP Transport for LoadGen 5/29/2010 9:51 AM residence Toscana mare
It is very interesting article and quite impressive too.The way in which you have described all the things are great.Thanks a lot.Keep blogging.

# re: Alternative SOAP Transport for LoadGen 5/30/2010 5:44 AM case vacanza elba
This is the most comprehensive guide I have come across.Thanks.It's really very well written…Some great information to be absorbed in this post. Keep up the good works.

# re: Alternative SOAP Transport for LoadGen 5/30/2010 6:42 AM noleggio con conducente roma
Thanks bro, Now you make it easy for me to understand and implement. Thanks for sharing with me.

# re: Alternative SOAP Transport for LoadGen 5/30/2010 6:51 AM Last Minute Jesolo
Very interesting post .Really you pointed out a lot of valuable things about T4 templates here .Keep sharing.....


# re: Alternative SOAP Transport for LoadGen 5/30/2010 8:42 AM Urlaub in Jesolo
One of the most inspiring bits of news in a long time.I am very much interesting in this topic.. Keep on elaborating much more on it in future posts.!



# re: Alternative SOAP Transport for LoadGen 5/31/2010 4:40 AM tuscany farm holidays
I haven't any word to appreciate this post..Really i am impressed from this post.Thanks for sharing your ideas.Keep it up.

# re: Alternative SOAP Transport for LoadGen 5/31/2010 5:03 AM dormire a lucca
These are nice coding. These code helps a lot. Keep sharing such type of informative post.


# re: Alternative SOAP Transport for LoadGen 6/12/2010 3:54 AM data backup solutions
Interesting post. Hoping that you will continue posting an article having a useful information. Thanks a lot!

# re: Alternative SOAP Transport for LoadGen 6/12/2010 6:48 AM utah uterine fibroids treatment
I am happy to find much useful information in the post, writing sequence is awesome, I always look for quality content, thanks for sharing.

# re: Alternative SOAP Transport for LoadGen 6/12/2010 8:13 AM pain doctors
That's a great post and I must say it's not only a simple but also a entertaining one.Thanks a lot for sharing.Looking forward to reading your next post.

# re: Alternative SOAP Transport for LoadGen 6/13/2010 7:40 AM platinum protection-63
I am following your blog regularly and got great information.Each & every tips of your post are awesome.Thanks a lot.Keep blogging.

# re: Alternative SOAP Transport for LoadGen 6/17/2010 12:56 PM cash advance instant approval
We have our my film favorites, and while critiquing my list, I happened to notice that Mr brad pitt was in a number of of them.

# re: Alternative SOAP Transport for LoadGen 6/21/2010 6:43 AM virtual hosting
I didn't realize how simple the code for the template is. You did a good job with this. Looking forward to reading your next post. Keep blogging.

# re: Alternative SOAP Transport for LoadGen 6/24/2010 7:53 AM digital scrapbook68
Interesting post and thanks for sharing. Some things in here I have not thought about before.Keep blogging.

# re: Alternative SOAP Transport for LoadGen 7/26/2010 8:17 AM home security systems-595
It is good to see posts that give truly quality information.I agree with most of what you are saying here.Thanks a lot for sharing.Keep blogging.

# re: Alternative SOAP Transport for LoadGen 7/28/2010 6:07 AM weight-loss489
Interesting post and thanks for sharing. Some things in here I have not thought about before.Thanks a lot.Keep blogging.

# re: Alternative SOAP Transport for LoadGen 7/29/2010 7:00 AM Civitavecchia excursion
So beautiful article. I visit this site. It gives me lots of pleasure and interest. It’s a most important post. Thanks for sharing this post with us. Keep blogging.

# re: Alternative SOAP Transport for LoadGen 8/2/2010 2:49 AM Ferienhaus Apulien
As a Newbie to the internet, I am always searching online for stuff that can help me. Thank you for your help.

# re: Alternative SOAP Transport for LoadGen 11/14/2010 3:09 AM School Manager Review
This article gives the light in which we can observe the reality. this is very nice one and gives indepth information. thanks or this nice article.

# re: Alternative SOAP Transport for LoadGen 1/7/2011 1:34 AM medieval times coupons
The Microsoft BizTalk LoadGen 2007 Tool is intended for developers and IT professionals to simulate load on a BizTalk Server.It generates message transmission loads to run performance and stress tests for your Microsoft BizTalk Server applications. This tool should be used in a test environment only, and should not be used in a production environment.

# re: Alternative SOAP Transport for LoadGen 4/1/2011 10:07 AM term life insurance
The Microsoft BizTalk LoadGen 2007 Tool is intended for developers and IT professionals to simulate load on a BizTalk Server. This tool should be used in a test environment only, and should not be used in a production environment.

# re: Alternative SOAP Transport for LoadGen 5/19/2011 7:23 AM engineering degree online
I feel the strange thing too with the LoadGen. But I try another way to prove that LoadGen didn't do something strange.

# re: Alternative SOAP Transport for LoadGen 6/17/2011 3:55 AM driving lessons Birmingham
Been looking for this article for long time ago and finally found here. thanks for sharing this post. appreciate!


# re: Alternative SOAP Transport for LoadGen 6/29/2011 3:57 AM px90
Nice post, great work. I have recently started my own blog so its handy to pickup tips from what you have going here. Many Thanks.


# re: Alternative SOAP Transport for LoadGen 8/17/2011 12:12 AM Joe
Great post..thanks!

# re: Alternative SOAP Transport for LoadGen 9/18/2011 5:02 PM Driving instructor Bristol
Great post keep up the good work

# re: Alternative SOAP Transport for LoadGen 11/2/2011 6:40 PM latest news today
It is a very nice place for getting knowledge... It is a great pleasure that I read you blog... I really like this blog...

Post A Comment
Title:
Name:
Email:
Website:
Comment:
Verification: