2009-11-18 9 views
5

.NET'de yazılmış bir web servisine çağrı yapmam gerekiyor. Aramayı yapan uygulama ColdFusion'da yazılmıştır. Web servisinin beklediği parametrelerden biri DataSet nesnesidir. ColdFusion'da bir .NET DataSet nesnesini oluşturamıyorum, web hizmetini kabul edeceği bir şeyden nasıl geçebilirim? Ham XML'de SOAP isteğini yazarken sorun yaşıyorum, sadece bir DataSet nesnesi için XML'in nasıl görüneceğini bilmiyorum.Web hizmeti bir DataSet nesnesi bekliyor, bunu ColdFusion veya ham XML aracılığıyla nasıl sağlayabilirim?

+0

Bir .NET veri kümesini, CF'nin kullanabileceği bir şeye dönüştürmek için bazı bilgiler buldum, ancak diğer yoldan değil. Ayrıca, bir sorguyu bir dizi yapıya, dizilerin bir yapısına ve benzer şekilde, .NET'in de kullanabileceği bir çok dönüştürücüyü bulmuştur. Veri kümelerinin neye benzediğine dair kaynak belgelere ihtiyacınız olduğunu düşünüyorum. – ale

+0

Her neyse, bu yararlı olabilir: http://coldfusion.sys-con.com/node/47199 – ale

+0

@Al Everett - Gerçekten çok yararlı görünüyor, bende bağlı olan QueryTool CFC'den ihtiyacım olanı alabiliyordum makale. Şimdi kodlara bakıyorum. –

cevap

5

Axis tefrika edilmiş beklediğini NET ve sizin için kullanılabilir tüm nesneler. Ne yazık ki ColdFusion'a ulaşmak kolay değil.

  1. Erişim coldfusion ile herhangi bir şekilde WSDL:

    yapmanız gerekir koçanları almak için.
  2. Taslakların CF uygulama dizinine bakın. WSDL.like tarafından düzenlenmiş bir "subs" dizinindedir: c: \ ColdFusion8 \ stubs \ WS \ WS-21028249 \ com \ foo \ bar \
  3. "com" dan aşağıya doğru yeni bir öğeye kopyalama CF sınıfı yolunda bulunan dizin. c: ya sizin gibi biri yapabilir \ ColdFusion8 \ MyStubs \ com oluşturduğunuz takdirde
  4. Yeni bir dizin sınıf yoluna ekleyin \ fan \ çubuğu \. CF hizmetlerini yeniden başlatın. ;
  5. ile veya CreateObject() myObj = CreateObject ("Java", "com.foo.bar.MyObject") başka bir Java nesne gibi bunları kullanma

Veri kümenizin nesnesi, Axis'in olması gereken her hangi bir java biçiminde bir yerde olmalıdır. Eğer cfscript neredeyse SABUN nesne nesne yapısını tanımlayacak ve Eksen onu manipüle için yöntemler yaratacak

SORULAR İÇİN


EDIT tüm bu yapmak için ihtiyacımız olacak Büyük olasılıkla . Eksenin oluşturduğu Java nesnesine bakın. Yöntemlere ve özelliklere bakmak için CFDUMP kullanabileceğinizi unutmayın.

Şimdi Eksen bir "ArrayOfAnyType" dönüşür korkunç olmayan jenerik koleksiyonu gibi, tarafından karışır .NET nesneleri gördük. .NET geliştiricilerinin Generics'i kendi hizmetlerinde kullanmaları önemlidir, böylece Axis dizileri doğru bir şekilde tanımlayabilirler ... eğer o zaman yapmazlarsa ve sabunla birlikte çalışamayabilirsiniz.

ama hiçbir korku Obi-won var ... başka bir yolu yoktur. XML web hizmetleriyle her zaman bir XML/RPC türünde etkileşim kurabilirsiniz. Bu otomatik değil, çok fazla el XML ayrıştırması, berbat, ama bazen bunu yapmanın tek yolu. .asmx dosyasını sonuna kadar "? Wsdl" olmadan vurarak .NET'ten biraz yardım alabilmeniz gerekir. Bunu yaparsanız, bir sürü belge ve çağrıların ve XML'in neye benzediğine dair örnekler üretecektir. Bu durumda, sadece XML'yi oluşturabilir ve cfhttp kullanarak belirtildiği gibi tel üzerinden iletebilirsiniz. İyi şanslar!

P.S.Ayrıca, el ile XML'i ColdFusion/Apache Axis nesnelerini karıştırmanın bir yolu olmadığını bildiğim kadarıyla, CF/Axis ile kullanmak üzere kendi nesneyi modellemenin de bir yolu yok. saplamalar veya hiçbir şey

+0

@Ryber - Bir veri kümesini taklit etmenin ya da tek yolu kullanmalarını sağlayan bir yolu var mı? – Leigh

+0

@Ryber - Bu yöntemi kullanarak boş bir sözde DataSet nesnesi oluştursam bile, bunları değerlerle nasıl doldurabilirim? Bunun uygun addRow() yöntemlerine veya benzeri bir şeye sahip olmayacağını hayal ediyorum. –

+0

Sorular için düzenlenmiş kuruluş – ryber

0

JSON kullanabilir misiniz?

http://json.org/

+0

Sorunun açık olmadığı konusunda üzgünüm. ColdFusion kullanarak bir .NET web hizmeti sorgulamam gerekiyor ve bir şekilde ColdFusion'dan bir .NET DataSet nesnesi sağlamanız gerekiyor. JSON'un resme nasıl girdiğini göremiyorum. –

İlgili konular