[Mono-list] Generating WSDL and soapsuds

Glen Ford glen.ford at spinvox.com
Tue May 2 03:55:44 EDT 2006


Hi,


Not sure if this is the right question for this list, but will ask 
anyway, more than happy to be redirected.

I am trying to generate a wsdl for my webservice assembly using 
soapsuds.  xsp generates one fine without any issues.  However soapsuds 
which should be able to generate one from an assembly just gives an 
empty service node.

<definitions name="String" 
targetNamespace="http://schemas.microsoft.com/clr/ns/System" 
xmlns="http://schemas.xmlsoap.org/wsdl/" 
xmlns:tns="http://schemas.microsoft.com/clr/ns/System" 
xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns:suds="http://www.w3.org/2000/wsdl/suds" 
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" 
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" 
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">
  <service name="Service" />
</definitions>

I think the the problem may be in the library call 
MetaData.ConvertTypesToSchemaToFile itself.  I've used a short test 
program (an example from MSDN actually) and found that it too doesn't 
work as expected.

    using System;
    using System.Runtime.Remoting.Metadata;
    using System.Runtime.Remoting.MetadataServices;

    public class Test {
       class TestClass {
          int integer;
          public double dFloatingPoint = 5.1999;

          public int Int {
             get { return integer; }
             set { integer = value; }
          }

          public void Print () {
             Console.WriteLine("The double is equal to {0}.",
    dFloatingPoint);
          }
       }

       public static void Main() {
          Type[] types = new Type[4];
          String s = "a";
          int i = -5;
          double d = 3.1415;
          TestClass tc = new TestClass();
          types[0] = s.GetType();
          types[1] = i.GetType();
          types[2] = d.GetType();
          types[3] = tc.GetType();
          MetaData.ConvertTypesToSchemaToFile(types, SdlType.Wsdl,
    "test.xml");
       }
    }


Has anyone else used soapsuds and found the above problem?  I don't know 
how xsp generates the wsdl, it certainly doesn't use the above method 
(if anyone knows off the top of their head how xsp does it, then I am 
happy to use that method in the interim.  Having to run up xsp everytime 
is a bit of a pain.

Thanks in advance,


Glen





More information about the Mono-list mailing list