Toon posts:

[SOAP] Namespaces tussen .NET en Apache *

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hallo, fellow tweakers.

Ik ben voor een stageproject bezig met SOAP. SOAP is helemaal nieuw voor mij en daarom heb ik wat problemen.

Eerst greep ik in mijn hoogmoed kennelijk te hoog door te proberen aan de hand van een tutorial een VB6-server aan een Java-client te knopen. Ik moet daarbij wel toegeven dat de tutorial uitging van de Microsoft SOAP toolkit versie 2 en Apache SOAP, terwijl ik zelf dus ben uitgegaan van versie 3 van de Microsoft SOAP toolkit en Apache Axis (de opvolger van Apache SOAP). Ik ging er in al mijn optimisme vanuit dat die tutorial met relatief weinig moeite ook op deze nieuwere generatie SOAP-implementaties van toepassing zou zijn. Ik ben nu dus een illusie armer.

Het probleem is dat ik alleen in grote lijnen begrijp hoe SOAP werkt. De grootste onduidelijkheid vormen al die namespaces. Ik heb het idee dat ik daar iets verknal.

Aan de Microsoft-kant wordt er in de wizard van de SOAP toolkit in de eerste instantie gevraagd om een "listener-URI". Is dit gewoon "http://webserver/virtualdirectory" of "http://webserver/virtualdirectory/ASP-file-of-wat-dan-ook"? En verschilt dat nog als ik in plaats van een ASP-listener een ISAPI-listener selecteer?

Vervolgens vraagt de wizard een zooi URI's:
  • WSDL Namespace URI
  • Schema Type Definition Namespace URI
  • Message Namespace URI
  • Base SOAP Action URI (will have method name appended)
Wat ik tot dusver van SOAP begrepen heb is dat sommige namespaces door ontwikkelaars zelf moeten worden gedefinieerd (dus i.p.v. tempuri.org gebruik je bijvoorbeeld je eigen domeinnaam als unieke namespace), maar dat andere namespaces naar standaard W3-sites dienen te verwijzen. Hoe zit dat met de bovengenoemde namespaces? En kan iemand ook duidelijk uitleggen hoe die namespaces zich aan de Axis-kant vertalen? Dat wordt in de documentatie niet duidelijk uitgelegd. Of dat, of het wordt allemaal anders genoemd, daar... Grrr...

Tenslotte nog een vraag voor degenen die ervaring hebben met .NET: in hoeverre is SOAP nou al geintegreerd in .NET dat het veel minder omslachtig is om te gebruiken dan bij deze SOAP toolkit voor (D)COM, die (althans in mijn ogen) eigenlijk overkomt als een lapmiddel?

Alvast bedankt! :)

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 13-08 16:46

curry684

left part of the evil twins

Even je topictitle wat normaler gemaakt :z

Professionele website nodig?


Verwijderd

Topicstarter
curry684 schreef op 26 August 2003 @ 15:24:
Even je topictitle wat normaler gemaakt :z
Bedankt. :) Hoewel het specifiek Apache Axis is, en dan in de eerste instantie met VB6 via de Microsoft SOAP toolkit versie 3 (en daarnaast eventueel nog info over hoe datzelfde te realiseren is met .NET ipv VB6).

Maar ja, zoveel past er niet in de topictitel. ;)

Verwijderd

Topicstarter
Die "WSDL Namespace URI" is wel duidelijk en bekend. Alleen de andere drie URI's waar de Microsoft SOAP toolkit om vraagt kan ik niet plaatsen. Iemand?

modbreak: als je iets toe te voegen hebt aan de laatste post gebruik dan aub Afbeeldingslocatie: http://gathering.tweakers.net/global/templates/got/images/icons/edit.gif ipv een kick

[ Voor 44% gewijzigd door curry684 op 26-08-2003 15:47 ]


  • dotcode
  • Registratie: Augustus 2003
  • Laatst online: 14-08 11:19

dotcode

///\00/\\

SOAP intergratie in .NET:
In .NET zijn webservices een abractie laag boven op soap, aan de client side en server side wordt voor de developer verborgen wat er allemaal onder water gebeurd. Maar het is ook mogelijk om eigen headers en berichten te defineren en te gebruiken. Als je hier mee bezig bent is het zeker de moeite waard om er eens naar te kijken omdat het je een hoop tijd kan besparen.

Verwijderd

Topicstarter
dotcode schreef op 26 augustus 2003 @ 15:52:
SOAP intergratie in .NET:
In .NET zijn webservices een abractie laag boven op soap, aan de client side en server side wordt voor de developer verborgen wat er allemaal onder water gebeurd. Maar het is ook mogelijk om eigen headers en berichten te defineren en te gebruiken. Als je hier mee bezig bent is het zeker de moeite waard om er eens naar te kijken omdat het je een hoop tijd kan besparen.
Als het automatisch gebeurt, hoe gaat .NET dan om met namespaces die de developer zelf moet definieren? Is het een setting die je ergens bij de instellingen in Visualstudio.NET kunt instellen?

Wacht, ik ga zelf even kijken. Bedankt voor je aanwijzingen tot dusver. :) Als iemand anders nog iets relevants toe te voegen (of te verbeteren) heeft: graag! :)

[ Voor 3% gewijzigd door Verwijderd op 26-08-2003 15:55 ]


Verwijderd

Topicstarter
Ik kwam er gisteren achter hoe eenvoudig het was om een SOAP web service te integreren in een .NET project binnen Visual Studio. Ik kies in het pulldown-menu "add web reference" en geef de URL die verwijst naar de WSDL-file van de SOAP-object in kwestie.

Ik had nog problemen met een exception die ik steeds kreeg ivm met security-issues. Kennelijk mag .NET-code het web niet benaderen als het project in een zogeheten "untrusted" directory staat. Het verplaatsen van mijn project-files van een netwerk-share naar een locale directory verhielp het probleem (de melding die daar bij het starten van Visual Studio .NET altijd al om waarschuwde verdween toen ook).

SOAP werkt nu! Ik heb het nu dus getest met een .NET-client gebruik makende van een publieke web service en met een .NET-client gebruik makend van een met Visual Studio .NET ontwikkelde SOAP-server. De volgende stap is om .NET-SOAP-servers met Java (Axis) SOAP-clients te laten communiceren. Er bestaat dan ook een file die wordt meegeleverd bij Axis (de nieuwe generatie SOAP toolkit van Apache) die WSDL2Java heet. Ook ga ik eens kijken of ik .NET-objecten nu ook aan VB6-objecten (via de Microsoft SOAP toolkit) kan koppelen.

Hoe dan ook bedankt allemaal! Als er nog vragen zijn, dan hoor ik het wel.
Pagina: 1