Ik ben nu voor het eerst bezig met webservice software factory icm met WCF services. Er is besloten om de wcf services te hosten in een andere omgeving dan de front-end (silverlight). Nu is dit niet helemaal zoals bedoelt is maar icm met cross domain is dit goed op te lossen. Het probleem waar ik tegen aan loop is het volgende:
Ik heb een lokale ontwikkelomgeving waarop de silverlight kant draait. Nu zou ik graag verbinden met de webserver op de ontwikkel server (dus niet lokaal). Dit gaat echter goed behalve bij het toevoegen van een web reference in visual studio. Op het moment dat ik dan de service details ga ophalen krijg ik de volgende foutmelding:
Nu heb ik gegoogled en gevonden dat dit komt doordat in de behaviour van de webservice ik moet aangeven dat "httpgetenabled" true moet zijn en een de volgende tag aanwezig moet zijn:
Na het toevoegen van die twee dingen werkt het wel zolang ik maar op mijn onwikkelmachine die service draai. Probeer ik hem echter te draaien van de onwikkelserver (met dezelfde web.config) dan kan ik de webreference niet toevoegen (in VS2010) met de bovenstaande foutmelding tot gevolg. Het gaat hier om een niet beveiligde webservice (voor alsnog) dus dat kan ook niet het probleem zijn.
Ik heb een lokale ontwikkelomgeving waarop de silverlight kant draait. Nu zou ik graag verbinden met de webserver op de ontwikkel server (dus niet lokaal). Dit gaat echter goed behalve bij het toevoegen van een web reference in visual studio. Op het moment dat ik dan de service details ga ophalen krijg ik de volgende foutmelding:
code:
1
2
3
4
5
| The HTML document does not contain Web service discovery information. Metadata contains a reference that cannot be resolved: 'http://****/OrganisationService.svc'. Content Type application/soap+xml; charset=utf-8 was not supported by service http://*****/OrganisationService.svc. The client and service bindings may be mismatched. The remote server returned an error: (415) Cannot process the message because the content type 'application/soap+xml; charset=utf-8' was not the expected type 'text/xml; charset=utf-8'.. If the service is defined in the current solution, try building the solution and adding the service reference again. |
Nu heb ik gegoogled en gevonden dat dit komt doordat in de behaviour van de webservice ik moet aangeven dat "httpgetenabled" true moet zijn en een de volgende tag aanwezig moet zijn:
XML:
1
| <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" /> |
Na het toevoegen van die twee dingen werkt het wel zolang ik maar op mijn onwikkelmachine die service draai. Probeer ik hem echter te draaien van de onwikkelserver (met dezelfde web.config) dan kan ik de webreference niet toevoegen (in VS2010) met de bovenstaande foutmelding tot gevolg. Het gaat hier om een niet beveiligde webservice (voor alsnog) dus dat kan ook niet het probleem zijn.
You know, I used to think it was awful that life was so unfair. Then I thought, wouldn't it be much worse if life were fair, and all the terrible things that happen to us come because we actually deserve them?