OK, I found an article in MSDN discussing how to "share types" between
web services by manually modifying the ASP.NET web service
Reference.vb. However, this is not very flexible, as it really
hinders updating any web references without manual editing. Our
customers will not want to do this manually.
Does anyone know of any tools or features of VS.NET 2003 to help with
this problem? Or anyone willing to share experiences of using this
approach?
Thanks,
Mike
(Mike Dearman) wrote in message news:< om>...
> Hi,
> I am trying to figure out if ASP.NET XML Web Services and the WSDL
> standard can handle this type of scenario:
>
> I have two web services, and one consumer client application. Lets
> call web service 1 "basews", and web service 2 "custom", and the
> client app "client".
>
> I want basews to define a delegate of sorts (where the delegate
> signature contains complex data types as arguments and return types),
> and then custom ws would conform to the basews delegate signatures, so
> that within client, I can call them similar to how delegates actually
> work in .NET (with the obvious overhead of SOAP, etc).
>
>
> If basews has the following pseudo-structure (VB'ish) :
>
> -----------------
> Class basews
> <WebMethod()> Public Function getComplexDataType(byval req as
> MyRequest) as MyDataType
> ...
> End Class
>
> Public Class MyDataType
> Public field as String
> ...
> End Class
>
> Public class MyRequest
> Public field as Integer
> ...
> End Class
> -----------------
>
> where MyDataType and MyRequest (really can be more complex) are added
> to basews WSDL automatically by .NET.
>
>
> Can I create "custom" ws like this:
>
> -----------------
> Class custom
> <WebMethod()> Public Function customGetComplexDataType(byval req as
> basews.MyRequest) as basews.MyDataType
> ...
> End Class
> -----------------
>
>
> such that within "client", it treats the return type of both web
> service's methods as the same type? Or if this is not possible, is
> there a way of at least being able to treat
> basews.MyDataType/MyRequest and custom.MyDataType/MyRequest the same
> so that I only have to write one routine to populate/read MyDataType
> and MyRequest within "client"?
>
> This is going to be used with dynamic web service binding techniques
> so that I can take an arbitrary WSDL and method names that conform to
> certain signatures (like delegates) and be able to call them
> appropriately.
>
> Thanks for the replies. Also, if you could copy me at 'mdearman
> NOSPAM at libera.com' I would be grateful so I don't accidently miss
> any replies.