Robert,<br><br>Many thanks. i found the SOAP extension stuff just a few hours before your reply. As for the point about the formatter, i have implemented my own formatter. But, the point is the binary formatter already does most of the work i need to do except it adds extra information. In my specialized formatter i just want to extract the bit i need from what the binary formatter has already produced rather than have to write a great deal of formatting code that has already been implemented by binary formatter.
<br><br>Best wishes,<br><br>--greg<br><br><div><span class="gmail_quote">On 8/3/06, <b class="gmail_sendername">Robert Jordan</b> <<a href="mailto:email@example.com">firstname.lastname@example.org</a>> wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Hey,<br><br>L.G. Meredith wrote:<br>> i'm in the process of writing a gateway application. It speaks SOAP out of<br>> one side of it's mouth and a proprietary network application protocol out<br>> the other.<br>>
<br>> My application would be much more beautiful and easy to maintain if i had<br>> the following two bits of interface to .net/mono capability.<br>><br>> 1. i want to trampoline incoming webmethods to invocations to send an
<br>> appropriately formatted message to a tcp stream connected to my app. That<br>> is, i would like to get the current (web) method and it's arguments. i<br>> would<br>> prefer not to copy the incoming arguments to an invocation but to
<br>> generically call an api that will return a data structure providing all the<br>> information associated with the method invocation, including method name<br>> and<br>> actuals (a.k.a. arguments). i can then pass this data structure to my
<br>> stream<br>> formatter to format appropriately for the network stream.<br><br>Implement a SOAP extension:<br><br><a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconAlteringSOAPMessageUsingSOAPExtensions.asp">
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconAlteringSOAPMessageUsingSOAPExtensions.asp</a><br><br>> 2. i would like to have the format of the .net/mono binary formatter. It<br><br>
I'm not sure why you need it, but here is it:<br><br><a href="http://svn.myrealbox.com/viewcvs/trunk/mcs/class/corlib/System.Runtime.Serialization.Formatters.Binary/binary_serialization_format.htm?rev=27351&view=log">
http://svn.myrealbox.com/viewcvs/trunk/mcs/class/corlib/System.Runtime.Serialization.Formatters.Binary/binary_serialization_format.htm?rev=27351&view=log</a><br><br>> does the work i need to do except that it puts some extra stuff into the
<br>> stream. Currently, i have a hack in which i drop markers into the stream<br>> and<br>> pull out the bytes between the markers to get the appropriately formatted<br>> bytes for the packet i need to send. Obviously, this is a brittle solution.
<br>> If i had the format the binary serializer uses, then i could extract<br>> them in<br>> a better way. Even better, if i had an API that allowed me to extract<br>> naturally distinct pieces, e.g. just member data, excluding class name or
<br>> member name data or even size information, then i could have a very robust<br>> and generic application.<br><br>Such an API doesn't make sense, unless it's intended to be used<br>by non-CLI languages (C/C++...).
<br><br>You should implement a custom formatter, if you need this level of<br>control.<br><br>If you want to intercept remoting calls, you could insert a<br>custom server channel sink after the formatter sink and you'll<br>
be able to access the remoting messages before they get dispatched.<br><br>Robert<br><br>_______________________________________________<br>Mono-list maillist - <a href="mailto:Monoemail@example.com">Monofirstname.lastname@example.org
</a><br><a href="http://lists.ximian.com/mailman/listinfo/mono-list">http://lists.ximian.com/mailman/listinfo/mono-list</a><br></blockquote></div><br><br clear="all"><br>-- <br>L.G. Meredith<br>Partner<br>Biosimilarity LLC
<br>505 N 72nd St<br>Seattle, WA 98103<br><br>+1 206.650.3740