2012-08-31 14 views
7

paketleme için en iyi uygulamaKodu - WSDL'nin Java eserler üretmek zaman (Maven Jax-WS tarafından) wsimport aracıyla üreten Java eserler ilgili bir sorun olacak kod

, toplanmaya istiyorum Bir WAR dosyası olarak web hizmeti projesi ve bir JAR dosyası olarak müşterisi.

Oluşturulan eşyaların nereye yerleştirileceği ve nereye yerleştirileceği WSDL? Web hizmeti projelerinin düzenlenmesiyle ilgili en iyi uygulama nedir?

Teşekkürler!

Saygılarımızla, Jurica Krizaniç'in

cevap

3

eserler böylece üçüncü bir kavanoza koydum paketi ve her ikisi için bir bağımlılık olarak ayarlayın hem istemci hem de sunucu tarafında gerekli olacaktır. WSDL'ler, savaşın WEB-INF klasörüne gitmeli ve @WebService ve @WebServiceClientwsdlLocation öznitelikleri, yolu gösterecek şekilde ayarlanmalıdır.

+0

Teşekkür: Daha fazla ayrıntı için

Çapraz referans bu özellikler cevap için. WSDL'yi bir savaş dosyasına nereye koyacağınızı biliyor musunuz? Bazı wsdl yükleme sorunları var ... –

+0

@JuricaKrizanic Cevabımı düzenledim. – zeller

+0

Sunucu tarafına ve istemci tarafına giden wsimport tarafından oluşturulan kod mu aynı? –

1

Yönetilen hizmetler için paketleme seçenekleri JSR 109: Web Services for Java EE, Version 1.3'da tanımlanmıştır. hizmetler için

:

5.4.2 EJB Modülü Ambalaj

... EJB-JAR dosya içinde Web hizmetleri dağıtım tanımlayıcı yeri META-INF/webservices.xml olduğunu. Wsdl dizini META-INF/wsdl'da bulunur.

5.4.3 Web Uygulaması Modülü Ambalaj

... Web servisleri dağıtım tanımlayıcı WEB-INF/webservices.xml bir WAR bulunan ve wsdl dizini WEB-INF/wsdl bulunmaktadır. istemciler için

: Java EE uygulama istemcisi, web bileşeni, EJB bileşen veya başka bir Web hizmeti: Bir müşteri aşağıdakilerden herhangi biri olabilir

.

Web hizmetleri istemci dağıtım tanımlayıcısının modülündeki konumu, birime özeldir. WSDL dosyaları, modülün kökü 'a göre bulunur ve genellikle, modül dağıtım tanımlayıcısı veya alt diziniyle birlikte bulunan dizinindeki wsdl dizininde bulunur.

Bu özelliğin kendisini Java EE istemcilerine sınırladığını unutmayın; Bu, WSDL'yi açıkça verdiğiniz bir unmanaged client'a sahip olamayacağınız anlamına gelmez.

İlgili konular