2011-08-04 55 views
1

我正在使用一個使用Web服務的應用程序。這是一個私人服務,所以我不能在這裏發佈WSDL或者生成的代碼,所以這對於一些一般的建議而不是特定的問題更是一個問題。Sudz-c for iOS的問題,缺少命名空間

我饋送的WSDL成Sudz-C。 WSDL最初有一些sudz-c會忽略的XSD的導入,所以我將它們複製到WSDL的類型部分。

我使用生成的代碼,以使該服務的請求,但我發現,請求缺少我複製到WSDL的類型部分複雜類型對象的名稱空間。

再次我知道這是很一般的信息,但是否有人曾與Sudz類似的問題,將是巨大的,得到您的指點。

+0

只是爲了任何人有興趣或有類似問題的最新情況,我從來沒有解決這個問題,使我不得不手工編寫Web服務:(不是最好的解決辦法,但我幾乎把它完全工作。如果你發現自己在類似的情況下,一個方便的提示是確保您爲每個服務調用設置正確的HTTP標頭。 – bennythemink

回答

0

無法找到一個答案,從而結束了剛剛到手編碼Web服務消息:(

2

我知道線程已經結束了,但我發現解決這個問題.. 如果WSDL具有外部的XSD隨附/進口則是,你是正確的有那些的XSD類型複製到WSDL(即直接將其嵌入到WSDL,而不是包括/進口)生成的代碼在任何意義上都是完美的,因爲它會爲XSD生成類型類型以及..但你可能會收到一個錯誤(在多個文件相同的錯誤)..這將是一個缺少BASE級別的幾個請求/響應類型..在分析代碼後,我意識到,缺少的命名空間只是相同的SOAPObject對象,因此我用SOAPObject.h替換了缺少的名稱空間,並使用SOAPObject接口/類作爲基類。 例如在我的情況

#include "SOAP.h" 

#include "sudz.h" 
@class sudz; 

@interface sudzAbstractRequestType : sudz 
{ 
} 

(注:「sudz」是您使用時使用SUDZ-C網站/項目生成的代碼,你的情況也可以是不同的唯一名稱)。 我改變了代碼(無處不在遇到這個錯誤的項目):

#include "SOAP.h" 

#include "SOAPObject.h" 
@class SOAPObject; 
//#include "sudz.h" 
//@class sudz; 

@interface sudzAbstractRequestType : SOAPObject//sudz 
{ 
} 

我希望這會幫助別人......我被困了好幾天,但後來得到它的工作確定.. 快樂編碼:)