2010-04-09 15 views
7

Üçüncü taraflarca "geri aranacak" bir hizmet oluşturmam gerekiyor. Sonuç olarak, WSDL'lerine uymalıyım.Bir WCF Hizmet Sözleşmesinde soapAction = "" ile birden çok işlem var mı?

WSDL, soapAction="" ile tanımlanan tüm işlemlere sahiptir, bu nedenle hizmetimin aynı şekilde yapılması gerekir. Ne yazık ki, hatayı alıyorum: ASMX web hizmetleri olarak

The operations A and B have the same action(). Every operation must have a unique action value.

, orada SOAPAction kullanılamaz olacak bir mod, ama istek elemanının adı yerine kullanılacaktır. WCF'yi yalnızca istek elemanını göndermek için değil, aynı zamanda soapAction içermeyen bir WSDL yaymak için bir yolu var mı?

cevap

11

Bu asmx ile mümkündür, ancak kutunun dışında WCF'de bunu yapmak için temiz bir yol bulamazsınız, çünkü bu işlem işlemlere mesaj göndermek için kullanır.

İhtiyacınız olan kesmek, soapAction değerinizi "*" olarak ayarlamak ve ardından custom dispatcher yazmaktır.

Bunun olası yan etkisi kötü WSDL bir WSDL maruz gerekirse/üretmek zorunda çalmak ve daha sonra externalMetadataLocation attribute

kullanacak olduğu
İlgili konular