• 08-10-2018, 15:15:08
    #1
    Merhabalar,

    N11 ürünlerinin kendi sistemimdeki stoklarla entegrasyonunu yapmaya çalışıyorum fakat kategori listesi çekebiliyorken ürün listesini çekemiyorum. Bu linkte n11 soap hakkında döküman bulunmaktadır entegrasyon yapan arkadaşlardan yardım rica ediyorum şimdiden teşekkür ederim.


    Kategori Listesindeki Çekerken ki Çalışan Kod:
                String strAppKey = "*****";
                String strAppSecret = "****";
    
    
                KategoriServis.Authentication authentication = new KategoriServis.Authentication();
                authentication.appKey = strAppKey;
                authentication.appSecret = strAppSecret;
    
    
                CategoryServicePortClient port = new CategoryServicePortClient();
                var request = new GetTopLevelCategoriesRequest();
                request.auth = authentication;
                var Kategoriler= proxy.GetTopLevelCategories(request);
                foreach (var item in Kategoriler.categoryList)
                {
    
                }
    HATA VEREN KOD:
                ProductServis.RequestPagingData requestPagingData = new ProductServis.RequestPagingData();
                requestPagingData.currentPage = 1;
                requestPagingData.pageSize = 10;
    
                ProductStockServicePortClient port = new ProductStockServicePortClient();
    
    
                var request = new GetProductListRequest();
                request.auth = authentication;
                request.pagingData = requestPagingData;
    
                var Urunliste = port.GetProductStockByProductId(request); // BURADA GetProductList olması gerekiyor ama gelmiyor. Bu gösterdiğinde de hata gösteriyor.
                foreach (var item in Urunliste.categoryList)
                {
    
                }
  • 09-10-2018, 13:57:56
    #2
    hatadan neden bahsetmemissin?

    iki kod arasindaki fark ilk bakista su

    var Kategoriler= proxy.GetTopLevelCategories(request);

    burda proxy objesi üzerinden sorgu yapmissin ama proxy nedir belli degil. Ayni yerde port degiskenini kullanarak metodu cagirsana

    var Kategoriler= port.GetTopLevelCategories(request);

    bakalim sonuc ne
  • 10-10-2018, 09:24:31
    #3
    ertan2002 adlı üyeden alıntı: mesajı görüntüle
    hatadan neden bahsetmemissin?

    iki kod arasindaki fark ilk bakista su

    var Kategoriler= proxy.GetTopLevelCategories(request);

    burda proxy objesi üzerinden sorgu yapmissin ama proxy nedir belli degil. Ayni yerde port degiskenini kullanarak metodu cagirsana

    var Kategoriler= port.GetTopLevelCategories(request);

    bakalim sonuc ne
    cevabınız için teşekkür ederim. Öncelikle kusura bakmayın kendim değişiklikler yaparken portu proxy olarak değiştirmemişim. kategorileri GetTopLevelCategories ile getiriyorum sorun şu n11'in bize verdiği aşağıdaki java örnek dökümanda ProductServicePort port = new ProductServicePortService().getProductServicePortS oap11(); obje tanımlaması c# da geçerli olmuyor ve bu yüzden GetProductList getiremiyorum.

    GetProductList Örnek Çağrı (JAVA) 
    
    public static void main (String []args) {
        
        String strAppKey = "***";
        String strAppSecret = "***";
        int currentPageValue = 0;
        int pageSizeValue = 3;
        
        Authentication authentication = new Authentication();
        authentication.setAppKey(strAppKey);
        authentication.setAppSecret(strAppSecret);
    
        RequestPagingData requestPagingData = new RequestPagingData();
        requestPagingData.setCurrentPage(currentPageValue);
        requestPagingData.setPageSize(pageSizeValue);
    
        GetProductListRequest getProductListRequest = new GetProductListRequest();
        getProductListRequest.setAuth(authentication);
        getProductListRequest.setPagingData(requestPagingData);
    
        ProductServicePort port = new ProductServicePortService().getProductServicePortSoap11();
        GetProductListResponse response = port.getProductList(getProductListRequest);
        List<ProductBasic> productList = response.getProducts().getProduct();
    
        for (ProductBasic sampleProduct:productList
                ) {
            System.out.println("Title of product is : " + sampleProduct.getTitle());
        }
    }
    C# ile benim yaptığım:

  • 10-10-2018, 19:50:16
    #4
    hocam sanirim siniflari yanlis yazmissin. Senin kuullandigin sinifta STOCK kelimesi geciyor yani sen stocktakileri cekmeye calisiyorsun. Vermis oldugun java kodunda ProductServicePortService classi kullanilmis ama sende ProductStockServicePortService muhtemelen bu yüzden getProductServicePortS gibi bir metod cikmiyor
  • 11-10-2018, 10:58:21
    #5
    ertan2002 adlı üyeden alıntı: mesajı görüntüle
    hocam sanirim siniflari yanlis yazmissin. Senin kuullandigin sinifta STOCK kelimesi geciyor yani sen stocktakileri cekmeye calisiyorsun. Vermis oldugun java kodunda ProductServicePortService classi kullanilmis ama sende ProductStockServicePortService muhtemelen bu yüzden getProductServicePortS gibi bir metod cikmiyor
    zaten hocam o sınıf çıkmadığı için bu şekilde kullanıyorum webservisin içinde hiçbir şekilde böyle bir sınıf yok
  • 11-10-2018, 16:49:49
    #6
    cünkü yanlis servis endpointini eklemissin hocam

    https://api.n11.com/ws/ProductService.wsdl

    bak burda o istedigin class mevcut

  • 12-10-2018, 10:09:42
    #7
    ertan2002 adlı üyeden alıntı: mesajı görüntüle
    cünkü yanlis servis endpointini eklemissin hocam

    https://api.n11.com/ws/ProductService.wsdl

    bak burda o istedigin class mevcut

    evet hocam şimdi getirdim bu seferde stockitems boş geliyor servisle alakalı bir hata döndürüyor n11 e mail attım umarım dönüş olur
  • 07-12-2018, 09:07:50
    #8
    DaCaMeRoN adlı üyeden alıntı: mesajı görüntüle
    evet hocam şimdi getirdim bu seferde stockitems boş geliyor servisle alakalı bir hata döndürüyor n11 e mail attım umarım dönüş olur
    Sorunu çözebildiniz mi aynı sorun ile karşı karşıyayım
  • 16-01-2019, 10:35:05
    #9
    stockitems ile alakalı benzer bir sorunu bende stok güncellemeye çalışırken yaşıyorum. entegrasyon dökümanlarında ki java kodunda kullanılan metotların bazıları (endpoint doğru) bizde çıkmıyor, konu ile alakalı hata aşağıda ki gibidir, durum hakkında bilgisi olan var mıdır ?

    System.InvalidOperationException: 'Unable to generate a temporary class (result=1).
    error CS0029: Cannot implicitly convert type 'PYWebSV.n11ProdStockSV.StockItem' to 'PYWebSV.n11ProdStockSV.StockItem[]'