Ik ben al een tijdje bezig met het volgende probleem: voor een klant moet ik een applicatie schrijven die periodiek een produktcatalogus post naar een webservice. Het bedrijf waar we de applicatie voor schrijven maakt van de webservice gebruik als dienst en communicatie met het bedrijf dat de webservice dienst verleent verloopt moeizaam (een helpdesk is de directe lijn voor communicatie en men mag mij niet doorverbinden met ontwikkelaars e.d.).
We hebben te maken met een beveiligde webservice, ik post mijn bericht naar een URL beginnende met https://www.webservice.nl/ssid=DSFFDFDSA312 (voorbeeld)
Wellicht belangrijk om te weten is dat de URL eindigt op: /ssid=7A1E23443FSDFSDA04466EDDC9D33E6A
Ik heb begrepen dat het hele ssid verhaal een soort identificatiecode is. Het bedrijf dat de webservice beheerd en onderhoud doet min of meer hetzelfde voor andere klanten.
Ik wil een catalogus posten naar de URL en daarna de response uitlezen. De response vertelt of de upload actie geslaagd is, of er iets mis is gegaan, etc...
Nu heb ik op internet verschillende stukken code gevonden waarmee ik de service zou moeten kunnen benaderen.
* HttpWebRequest object gebruiken (met en zonder certificaat) om bericht te posten, HttpWebResponse object om het resultaat uit te lezen. Met de URL van de webservice krijg ik overigens een error van het type 500 (generic server error oid).
* WebClient object gebruiken (hopende dat die automatisch met certificaat zou kunnen werken, ik heb het certificaat van de webservice in kwestie aangegeven dat die vertrouwd was.
* WebRequest / WebResponse objecten gebruiken, weer zonder succes, weer error van type 500.
Voordat ik code post wil ik graag weten of iemand al eerder met het probleem te maken heeft gehad en zo ja, wat de oplossing in dat geval was.
Edit: kleine doch belangrijke aanvulling a.d.h. van post hieronder ...
De URL is ook te benaderen via een browser, in dat geval krijg ik wel een 'response' terug in de vorm van een XML bericht. Het resultaat wat ik in de browser terugkrijg is hieronder weergegeven:
In de browser komt dus niet de '500 internal server' error terug
We hebben te maken met een beveiligde webservice, ik post mijn bericht naar een URL beginnende met https://www.webservice.nl/ssid=DSFFDFDSA312 (voorbeeld)
Wellicht belangrijk om te weten is dat de URL eindigt op: /ssid=7A1E23443FSDFSDA04466EDDC9D33E6A
Ik heb begrepen dat het hele ssid verhaal een soort identificatiecode is. Het bedrijf dat de webservice beheerd en onderhoud doet min of meer hetzelfde voor andere klanten.
Ik wil een catalogus posten naar de URL en daarna de response uitlezen. De response vertelt of de upload actie geslaagd is, of er iets mis is gegaan, etc...
Nu heb ik op internet verschillende stukken code gevonden waarmee ik de service zou moeten kunnen benaderen.
* HttpWebRequest object gebruiken (met en zonder certificaat) om bericht te posten, HttpWebResponse object om het resultaat uit te lezen. Met de URL van de webservice krijg ik overigens een error van het type 500 (generic server error oid).
* WebClient object gebruiken (hopende dat die automatisch met certificaat zou kunnen werken, ik heb het certificaat van de webservice in kwestie aangegeven dat die vertrouwd was.
* WebRequest / WebResponse objecten gebruiken, weer zonder succes, weer error van type 500.
Voordat ik code post wil ik graag weten of iemand al eerder met het probleem te maken heeft gehad en zo ja, wat de oplossing in dat geval was.
Edit: kleine doch belangrijke aanvulling a.d.h. van post hieronder ...
De URL is ook te benaderen via een browser, in dat geval krijg ik wel een 'response' terug in de vorm van een XML bericht. Het resultaat wat ik in de browser terugkrijg is hieronder weergegeven:
code:
1
2
3
4
5
6
| <ErrorMessage code="ValidationError"> <ErrorText>Invalid Document</ErrorText> <DetailedDescription> Schema validation failed. The document is either not valid XML or does not conform to Tradeplace schema definition. Hubspan TrackID:940630 </DetailedDescription> </ErrorMessage> |
In de browser komt dus niet de '500 internal server' error terug
[ Voor 18% gewijzigd door MacWolf op 16-02-2007 15:20 ]
Microsoft Windows: A thirty-two bit extension and graphical shell to a sixteen-bit patch to an eight-bit operating system originally coded for a four-bit microprocessor which was written by a two-bit company that can't stand one bit of competition.