Toon posts:

[SOAP] Dataset export variatie

Pagina: 1
Acties:

Verwijderd

Topicstarter
Tweakers,

Ik heb een leuk probleem. We hebben een SOAP service die VB6 datasets oplevert aan een .NET applicatie (als XML natuurlijk). Als persoon 1 deze compileert dan krijgen we kolomnamen als "c0, c1, c2, etc". Nu is er laatst een kolom bij geplaatsts en nu is het resultaat "c0, c1, c2, NieuweKolom". Dus de nieuwe kolom geeft zijn werkelijk naam door aan het schema.

Nou blijkt hier eigenlijk geen touw aan vast te knopen, want als een derde collega compileerd worden meer van de c* kolomnamen vervangen door "werkelijke" kolomnamen. Omdat wij in de .NET applicatie die gebruikt maakt van de Soap data de kolomnaam willen bendaderen is dit dus erg lastig.

Heeft iemand enig idee? Het mooiste zou zijn als we de soap service zo konden maken dat deze altijd gewoon de "werkelijke" kolomnaam meegeeft. Ik heb geprobeerd te zoeken op google etc maar denk dat ik mijn vraag niet goed in een google- query kan formuleren. Ik krijg namelijk geen resultaten die er wat mee te maken hebben.

  • EfBe
  • Registratie: Januari 2000
  • Niet online
Wat is een VB6 dataset?

Hoe zet je de VB6 datablokken om in XML? Daar wringt de schoen zo lijkt het.

Creator of: LLBLGen Pro | Camera mods for games
Photography portfolio: https://fransbouma.com


  • tijn
  • Registratie: Februari 2000
  • Laatst online: 25-05 12:24
Verwijderd schreef op 05 april 2004 @ 14:37:
Nou blijkt hier eigenlijk geen touw aan vast te knopen, want als een derde collega compileerd worden meer van de c* kolomnamen vervangen door "werkelijke" kolomnamen. Omdat wij in de .NET applicatie die gebruikt maakt van de Soap data de kolomnaam willen bendaderen is dit dus erg lastig.
Maak je XML aan via de Save method van de Recordset? Zo ja, zorg dan dat je MDAC versies onderling synchroniseert want de implementatie van Recordset.Save is wel eens aan verandering onderhevig geweest meen ik.

Cuyahoga .NET website framework


Verwijderd

Topicstarter
Hmmm... een collega vertelde mij net dat ik de NGen file even door de Soap Toolkit 3 moest halen en dan UTF 16 moest gebruiken in plaats van UTF 8. De WSDL die daar uit wordt opgebouwd zou het wel goed moeten doen al zou ik dat nog altijd bijzonder vreemd vinden.

De MDAC versies zijn allemaal gelijk (ik ga het voor de zekerheid nog een keer controleren). Bedankt voor de hulp alvast!

Verwijderd

Topicstarter
Het probleem lijkt hierdoor te komen:


code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
- <s:Schema id="RowsetSchema">
- <s:ElementType name="row" content="eltOnly" rs:updatable="true">
- <s:AttributeType [b]name="c0" rs:name="ID kostenplaats"[/b] rs:number="1" rs:basetable="Klant_kostenplaats" rs:basecolumn="ID kostenplaats" rs:keycolumn="true" rs:autoincrement="true">
  <s:datatype dt:type="int" dt:maxLength="4" rs:precision="10" rs:fixedlength="true" rs:maybenull="false" /> 
  </s:AttributeType>
- <s:AttributeType [b]name="Kostenplaats"[/b] rs:number="2" rs:nullable="true" rs:write="true" rs:basetable="Klant_kostenplaats" rs:basecolumn="Kostenplaats">
  <s:datatype dt:type="string" rs:dbtype="str" dt:maxLength="50" /> 
  </s:AttributeType>
- <s:AttributeType [b]name="Omschrijving"[/b] rs:number="3" rs:nullable="true" rs:write="true" rs:basetable="Klant_kostenplaats" rs:basecolumn="Omschrijving">
  <s:datatype dt:type="string" rs:dbtype="str" dt:maxLength="50" /> 
  </s:AttributeType>
  <s:extends type="rs:rowbase" /> 
  </s:ElementType>
  </s:Schema>



Bij het eerste veld is de name dus c0 (column 0?), maar deze heeft wel een rs:name attribuut meegekregen met de werkelijke naam. De overige kolommen zijn gerenderd met name: en dan wel de werkelijke naam. Hier ontbreekt dan weer het rs:name attribuut.

Dit is gerendered door het vb recordset.save statement die het recordset gewoon als XML heeft opgeslagen en doorgestuurd. Deze verzint dus blijkbaar zelf wanneer hij welke naamgeving gebruikt.

Blijft belachelijk. Ik ga nu in .net een functie proberen te bouwen die wanneer er een rs:name aanwezig is deze over de name: heen zet. Hopelijk lost dat het op.