Birden fazla (yani 2, A ve B) web servislerim var ve bunları togheter kullanacak bir istemci oluşturmam gerekiyor. Netbeans'de Ben iki wsdl geçen sihirbaz "yeni Web Service Client" kullanın, çıkış Netbeans her biri için sadece wsimport çağrı arıyorum.wsimport: birden fazla wsdl üzerine yazılır ObjectFactory
wsimport http:/mydomain/wsA.svc?wsdl
wsimport http:/mydomain/wsB.svc?wsdl
İkisi A ve B, aynı paket com.mydomain.myapp (onlar aynı ad alanında tanımlanır tahmin) oluşturmak, bu yüzden A'nın saplama sınıf setini almak ve B aynı pakette birleşti . Bununla birlikte, wsimport, her bir web hizmeti için de bir ObjectFactory yaratır, bu yüzden, A'dan sonra B'nin stubunu üretirsem, sadece B tanımlarıyla ilgili ObjectFactory'yi alır (ilk, A, üzerine yazılır). Tersine, siparişi değiştirirsem A'nın ObjectFactory değeri geçer.
problem java paketinde A ad eşlemek için bir yol var mı ben hem webservices A tipleri ve B
için JAXBElements sarma clas örneklerini oluşturmak için her iki ObjectFactories ihtiyaç olduğunu ve sırayla diğerinde B
com.mydomain.myapp.a
com.mydomain.myapp.b
almak ve böylece hem ObjectFactories tutmak için?
Basit bir refactoring yardımcı olmuyor çünkü dahili olarak bir getClass() çağrılıyor, paket yeniden oluşturulduktan sonra artık çalışmıyor.
Tamam! Bu XML bağlamayı kullandım: \t \t \t \t \t jxb: paket> \t jxb: bağlamaları> jxb: bağlamaları> Ancak, bana XPath hata veriyor: boş. Xsd'm yok, önerilerin var mı? –
alexroat
Sadece bir düşünceniz vardı - "wsimport -p com.mydomain.myapp.a http: /mydomain/wsA.svc? Wsdl" ve daha sonra "wsimport -p com.mydomain.myapp.b http:/mydomain/wsB" yi denediniz mi? .Svc? wSDL "? Bu, oluşturulan tüm kodu, bağlayıcı bir dosyaya gerek duymadan, belirtilen pakete ("-p" anahtarına göre) koyacaktır. (Daha önce düşündüm ...) – FOOM
Evet, yaptım. "ObjectFactory'de iki bildirimin çarpışmasına neden olan" gibi birçok hata var. ve "aynı ada sahip bir sınıf/arabirim" com.anthesi.prova.ExecuteTransmDocModelResponse "zaten kullanılıyor. Bu çakışmayı gidermek için bir sınıf özelleştirme kullanın." – alexroat