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> &lt;<a href="mailto:robertj@gmx.net">robertj@gmx.net</a>&gt; 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>&gt; i'm in the process of writing a gateway application. It speaks SOAP out of<br>&gt; one side of it's mouth and a proprietary network application protocol out<br>&gt; the other.<br>&gt;
<br>&gt; My application would be much more beautiful and easy to maintain if i had<br>&gt; the following two bits of interface to .net/mono capability.<br>&gt;<br>&gt; 1. i want to trampoline incoming webmethods to invocations to send an
<br>&gt; appropriately formatted message to a tcp stream connected to my app. That<br>&gt; is, i would like to get the current (web) method and it's arguments. i<br>&gt; would<br>&gt; prefer not to copy the incoming arguments to an invocation but to
<br>&gt; generically call an api that will return a data structure providing all the<br>&gt; information associated with the method invocation, including method name<br>&gt; and<br>&gt; actuals (a.k.a. arguments). i can then pass this data structure to my
<br>&gt; stream<br>&gt; 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>&gt; 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&amp;view=log">
http://svn.myrealbox.com/viewcvs/trunk/mcs/class/corlib/System.Runtime.Serialization.Formatters.Binary/binary_serialization_format.htm?rev=27351&amp;view=log</a><br><br>&gt; does the work i need to do except that it puts some extra stuff into the
<br>&gt; stream. Currently, i have a hack in which i drop markers into the stream<br>&gt; and<br>&gt; pull out the bytes between the markers to get the appropriately formatted<br>&gt; bytes for the packet i need to send. Obviously, this is a brittle solution.
<br>&gt; If i had the format the binary serializer uses, then i could extract<br>&gt; them in<br>&gt; a better way. Even better, if i had an API that allowed me to extract<br>&gt; naturally distinct pieces, e.g. just member data, excluding class name or
<br>&gt; member name data or even size information, then i could have a very robust<br>&gt; 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&nbsp;&nbsp;-&nbsp;&nbsp;<a href="mailto:Mono-list@lists.ximian.com">Mono-list@lists.ximian.com
</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