Verileri bir 3. Taraf web hizmetine göndermekle görevlendirildim, bir sınama sundular Ancak, bir Java istemcisi ile çalıştığı kanıtlanmış olan hizmet .Net'de yok. Ben hizmet proxy oluşturmak ve ya hizmet örneğini veya istek nesnesi tefrikaOluşturulan bir XSD'yi, kural dışı durumun neden olduğu bilinen bir .Net hatasını üstesinden gelmek için doğru şekilde nasıl değiştirebilirim "cs0030: Geçici bir sınıf üretilemiyor"
, aşağıdaki hatayı alıyorum: Bu hizmet Java kullanır ve hiçbir sorun vardı bize gönderilen
Unable to generate a temporary class (result=1).
error CS0030: Cannot convert type 'TestStarXML.wsStarService.VSOptionInclusiveSetType[]' to 'TestStarXML.wsStarService.VSOptionInclusiveSetType'
error CS0030: Cannot convert type 'TestStarXML.wsStarService.VSOptionConflictSetType[]' to 'TestStarXML.wsStarService.VSOptionConflictSetType'
error CS0030: Cannot convert type 'TestStarXML.wsStarService.ColorRequirementSetType[]' to 'TestStarXML.wsStarService.ColorRequirementSetType'
error CS0030: Cannot convert type 'TestStarXML.wsStarService.ColorExclusionSetType[]' to 'TestStarXML.wsStarService.ColorExclusionSetType'
error CS0029: Cannot implicitly convert type 'TestStarXML.wsStarService.VSOptionInclusiveSetType' to 'TestStarXML.wsStarService.VSOptionInclusiveSetType[]'
error CS0029: Cannot implicitly convert type 'TestStarXML.wsStarService.VSOptionConflictSetType' to 'TestStarXML.wsStarService.VSOptionConflictSetType[]'
error CS0029: Cannot implicitly convert type 'TestStarXML.wsStarService.ColorRequirementSetType' to 'TestStarXML.wsStarService.ColorRequirementSetType[]'
error CS0029: Cannot implicitly convert type 'TestStarXML.wsStarService.ColorExclusionSetType' to 'TestStarXML.wsStarService.ColorExclusionSetType[]'
3 Tarafı Test hizmetinden servis proxy'si oluşturma. Şimdiye kadarki anlayışım, WSDL dosyası için XSD'yi üreten bir Net (see here) hatası olmasıdır. elde kukla özellik ekleyerek tek şey bir derleme süresini azaltmak için
<xs:complexType name="VSInclusivesOptionType">
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" name="VSOptionInclusiveSet" type="tns:VSOptionInclusiveSetType" />
</xs:sequence>
<xs:attribute name="tmp" type="xs:string" /> <!-- this is all I have added (for each of the types in the exception message) -->
</xs:complexType>
<xs:complexType name="VSOptionInclusiveSetType">
<xs:sequence>
<xs:element minOccurs="0" name="SetID" type="ns2:IdentifierType" />
<xs:element minOccurs="0" name="NumberOfOptionsNumeric" type="xs:decimal" />
<xs:element minOccurs="0" maxOccurs="unbounded" name="VSOption2" type="tns:VSOption2Type" />
</xs:sequence>
</xs:complexType>
oldu: cevap here yılında
, bu kukla özelliklere sahip oluşturulan XSD değiştirerek, bu yüzden önerildiği gibi kukla niteliğini eklendi bahsedenler projeden dakikalara ve saniyeye kadar.Bunun haricinde, VS2008 bu değişiklikleri farketmemiş gibi görünüyor - Hala nesneyi serileştiremiyorum ya da yukarıda belirtilen istisnayı almadan hizmeti sunamıyorum, neyi eksik veya yanlış yapıyorum?
Bağlantılı yayınlarda önerilen çözümü tam olarak uyguladığınız anlaşılan bir denetim sorusu. VSInclusivesOptionType ile sorun çözülmüştür ve şimdi hata iletisinde başvurulan diğer (3) veri türlerinin yuvalanmalarına karşı çalışıyorsunuz? (VSOptionConflictSetType; ColorRequirementSetType; ColorExclusionSetType)? – dcbyers
@dcbyers Yukarıdaki 4 tür için yukarıdaki değişiklikleri uygulamıştım. –