[Mono-list] Retrieve SOAP message

Glen Ford glen.ford at spinvox.com
Fri Nov 17 03:35:02 EST 2006


Anyone know if the below are a supported as yet?


Christian Birkl wrote:
> FYI - there are 2 other ways of doing this:
>  
> 1) Use a SoapInput/OutputFilter
>  
> @see: 
> http://msdn.microsoft.com/library/en-us/wseref/html/T_Microsoft_Web_Services2_SoapInputFilter.asp?frame=true 
> <http://msdn.microsoft.com/library/en-us/wseref/html/T_Microsoft_Web_Services2_SoapInputFilter.asp?frame=true>
> @see: 
> http://msdn.microsoft.com/library/en-us/wseref/html/T_Microsoft_Web_Services2_SoapOutputFilter.asp?frame=true 
> <http://msdn.microsoft.com/library/en-us/wseref/html/T_Microsoft_Web_Services2_SoapOutputFilter.asp?frame=true>
>  
> 2) Use a SoapExtension
>  
> @see: 
> http://msdn2.microsoft.com/en-US/library/system.web.services.protocols.soapextension.aspx (especially 
> stages BeforeDeserialize and AfterSerialize, depending on if it's 
> either a SoapClient oder SoapServerMessage).
>  
> Though I don't know if mono's WSE support yet includes and supports 
> those classes.
>  
> Christian
>  
> 2006/11/16, Juan Cristóbal Olivares <juancri at gmail.com 
> <mailto:juancri at gmail.com>>:
>
>     Sébastien Mosser asked how to retrieve the SOAP message from a web
>     service. I have good and bad news. The good news is "it's
>     possible" the bad news is "mono bug".
>
>     Ok, this is the explanation. I tried in Microsoft .NET first
>     because of the documentation. I did this:
>
>     using System.IO;
>     ....
>     ....
>     [WebMethod]
>     public string Test (string argument1, string argument2)
>     {
>         using (StreamReader reader = new StreamReader
>     (this.Context.Request.InputStream ))
>             return reader.ReadToEnd ();
>     }
>
>     With POST method it worked OK, I received
>
>     argument1=sometext&argument2=othertext
>      
>
>     but it didn't work with SOAP, so I tried this hack:
>
>     [WebMethod]
>     public string Test (string argument1, string argument2)
>     {
>         Stream stream = this.Context.Request.InputStream;
>         stream.Seek (0, SeekOrigin.Begin);
>         using (StreamReader reader = new StreamReader (stream))
>             return reader.ReadToEnd ();
>     }
>      
>
>     and it worked great:
>
>     <?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:soap="
>     http://schemas.xmlsoap.org/soap/envelope/"
>     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance
>     <http://www.w3.org/2001/XMLSchema-instance>" xmlns:xsd="
>     http://www.w3.org/2001/XMLSchema"><soap:Body><Test xmlns="
>     http://tempuri.org/"><argument1>hola</argument1>
>     <argument2>bye</argument2></Test></soap:Body></soap:Envelope>
>      
>
>     But it's not working with my mono installation... anybody else can
>     try?
>
>     Juan C. Olivares
>     www.juancri.com <http://www.juancri.com/>
>
>
>     -- 
>     Juan Cristóbal Olivares
>
>     _______________________________________________
>     Mono-list maillist  -   Mono-list at lists.ximian.com
>     <mailto:Mono-list at lists.ximian.com>
>     http://lists.ximian.com/mailman/listinfo/mono-list
>
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> Mono-list maillist  -  Mono-list at lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-list
>   


-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.ximian.com/pipermail/mono-list/attachments/20061117/85ec7419/attachment-0001.html 


More information about the Mono-list mailing list