2016-03-21 20 views
0

Bu bağlantıyı kullanarak, buttom-up yaklaşımını kullanarak bir web hizmeti oluşturmak için kullanıyorum: http://dtechtalkcenter.blogspot.com/2012/10/creating-code-first-web-service-bottom.html.Eclipse: Web hizmetleri: 404 hatası kullanarak Tomcat7

Ancak, ben hiçbir yaparsam yapayım bu hatayı alıyorum:

Etat HTTP 404 -/StandardWebService/hizmet/ProductServiceImplPort

tip Ahenk d' '

etat

mesaj/StandardWebService/services/ProductServiceImplPort

tanım Diğer veriler

Yardımına takdir;)

+0

Kullandığınız sınıfların kodunu ekleyin, lütfen. Kılavuzun okunması Örneklerde tanımlanan aynı paketi kullanıp kullanmadığınızı merak ediyorum. Bu satırı @WebService (endpointInterface = "com.dtechtalkcenter.service olarak değiştirmezseniz.ProductService ") kendi paketinizi kullanarak, aldığınız hataya yol açabilir. – RubioRic

+0

Tamam, çok teşekkürler. – RubioRic

+0

Paket adını verdim: testeurfinal1 ve ben ProductServiceImpl: @WebService (endpointInterface =" testeurfinal1. Hata raporunda, şu açıklamayı yapıyorum: AVERTISSEMENT: [SetPropertiesRule] {Sunucu/Servis/Motor/Ana Bilgisayar/Bağlam} 'org.eclipse.jst.jee.server' özelliğine 'property' ayarlanması: testeurfinal1 'eşleşen bir bilgi bulamadı –

cevap

0

Ey! Sonunda WebService dağıttım!

Bağlantınız tarafından sağlanan sınıflarda yaptığım tek değişiklik, ProductService sınıfında targetNamespace eklemektir.

package es.rubioric.ws; 

    import java.util.List; 

    import javax.jws.WebParam; 
    import javax.jws.WebService; 

    @WebService(targetNamespace="http://ws.rubioric.es/") 
    public interface ProductService { 
     //Return List of product 
     List<Product> getProducts(); 

     //add the product into the list 
     void addProduct(@WebParam(name="product")Product product); 
    } 

EDT: targetNamespace Bu sınıfa dahil Servis Impl It

package es.rubioric.ws; 

    import java.util.ArrayList; 
    import java.util.List; 
    import javax.jws.WebService; 

    @WebService(endpointInterface ="es.rubioric.ws.ProductService") 
    public class ProductServiceImpl implements ProductService{ 

    @Override 
    public List<Product> getProducts() { 

     List<Product> product=new ArrayList<Product>(); 
     product.add(new Product("Windows","OS", "windows server", 300)); 
     product.add(new Product("Linux","OS", "Linux server", 100)); 
     product.add(new Product("Mac","OS", "Mac server", 500)); 
     return product; 
    } 

    @Override 
    public void addProduct(Product product) { 
     System.out.println(product); 
    } 
} 

('/') çok önemli son çizgi görünüyor ekleyin. kullanılan otomatik nesil mekanizmasını çalışır ama iki ad alanlarını nasıl oluşturacağını bilmiyorum: eğik çizgi dahil http://ws.rubioric.es/ ve http://ws.rubioric.es

, bu ad farklı - benim zavallı açıklama için, ben don üzgün iyi bir şey [görünüyor Bu tür Web Servisleri hakkında çok şey bilmiyorum] ve dağıtıma izin ver.

Running at last!

Ben O, renk sakıncası, ama orada yok her zaman kırmızı gidiyoruz oluyor

Eclipse console

konsolu ile ne anlama geldiğini size açıklayan bu diğer resim eklemeyi Sorunu işaret eden bir stacktrace olsun.

başka ipucu: Eclipse Mars, bu pencerenin

enter image description here

iki kez yanında itme eğer sonra, bir SOAP yapılandırma penceresi görüntülenir.

SOAP

işaretini kaldırın "ayrı XSD üret ..." ekstra çelişkili xsd dosya nesil önlemek için.

Bu iş sizin için uygunsa bana bildirin.

+0

Yanıtladığınız için teşekkür ederim ama yine de aynı hatayı alıyorum. Aslında bir sorum var: Yazdınız: "http://ws.rubioric.es/" targetnamespace olarak ve paket ismini verdiniz: es.rubioric.ws Paketime 'testeurfinal1' denir. Yani, targetnamespace "http: // testeurfinal1/', değil mi? ... –

+0

İkinci soru beşinci bağlantıdaki adım: http://dtechtalkcenter.blogspot.com/2012/10/c reating-code-first-web-service-bottom.html: Hizmet uygulama alanında şunu yazdınız: com.dtechtalkcenter ...? Bu benim için çalışmadı. Yani, ben seçtim seçti: testeurfinal1.ProductServiceImpl bu alan için ... Ne iyi gitmediğini bilmek için çalışıyorum ...:/ –

+0

@JohnPacker Yukarıda benim hizmet uygulaması dahil ettik. Ad alanı bir URL olmalıdır. Hedef adınız doğru görünmüyor. İçinde bulunduğunuz ülkeyi (veya ülkenizin en iyi ülkesi) de dahil ederek paketinizi değiştirmeyi ve ad alanını – RubioRic