Paylaşılan türlerle birlikte WSDL'lerden proxy'lerin oluşturulmasına bir örnek bulmuyorum, ancak bunlarla birlikte herhangi bir XSD'ye sahip olmak yok. Herkes bunu bir örnek olarak işaretleyebilir ve bana örnek olarak gösterebilir mi lütfen?WSDL türlerini XSD olmadan paylaşma
Burada, her birinin kendi ad alanı ve ortak türü olan 2 hizmet vardır. Halka açık bir şekilde erişilebilen tek şey, kendi WSDL'leridir, XSD'nin ya da .dll dosyasının wsdl.exe /sharedtypes
ya da svcutils
'a geçmesi ve onun olmadan da ve class Foo1
numaralarına geçemediğim aynı class Foo
ile sona erer.
Ben programlı vekiller üreten ve DataContract
/WebServiceBinding
ad alanlarını göz ardı ederek CodeDOM aracılığıyla çiftleri algıladığını ile gelen en iyi, ama bu çok büyük bir karmaşa ...
[WebService(Namespace = "http://tempuri.org/FOO1")]
public class Service1 : WebService
{
[WebMethod]
public Foo GetFoo()
{
return new Foo();
}
}
[WebService(Namespace = "http://tempuri.org/FOO2")]
public class Service2 : WebService
{
[WebMethod]
public void SetFoo(Foo foo)
{
}
}
public class Foo
{
public int Bar { get; set; }
}
WSDL tanımlarının bir kısmı, türleri tanımlayan XSD'lerdir. WSDL'de tanımlanmamışlarsa hizmeti nasıl tüketmeniz gerekiyor? –
@hugh Her bir WSDL'de iki kez tanımlandılar, yani 'Service1' ve 'Service2' wsdls' 'GetFoo'dan' 'geçebilen ortak' Foo 'tanımına sahip proxy'leri üretmek için bir yol göremiyorum. SetFoo'. –
Anladım. Aşağıdaki cevabıma bakın –