Hello All,<br><br>i'm in the process of writing a gateway application. It speaks SOAP out of one side of it's mouth and a proprietary network application protocol out the other. <br clear="all"><br>My application would be much more beautiful and easy to maintain if i had the following two bits of interface to .net/mono capability.
<br><br>1. i want to trampoline incoming webmethods to invocations to send an appropriately formatted message to a tcp stream connected to my app. That is, i would like to get the current (web) method and it's arguments. i would prefer not to copy the incoming arguments to an invocation but to generically call an api that will return a data structure providing all the information associated with the method invocation, including method name and actuals (
a.k.a. arguments). i can then pass this data structure to my stream formatter to format appropriately for the network stream.<br><br>2. i would like to have the format of the .net/mono binary formatter. It does the work i need to do except that it puts some extra stuff into the stream. Currently, i have a hack in which i drop markers into the stream and pull out the bytes between the markers to get the appropriately formatted bytes for the packet i need to send. Obviously, this is a brittle solution. If i had the format the binary serializer uses, then i could extract them in a better way. Even better, if i had an API that allowed me to extract naturally distinct pieces, 
e.g. just member data, excluding class name or member name data or even size information, then i could have a very robust and generic application.<br><br>In fact, i would argue that with the two pieces of API you have a generic framework for writing such gateway applications and considering the number of proprietary protocols there are in the world, this probably has wide applicability.
<br><br>Any help would be greatly appreciated.<br><br>Best wishes,<br><br>--greg<br><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