Avatar billede hulla Novice
21. februar 2011 - 19:57 Der er 6 kommentarer og
1 løsning

AJAX Webservice

Hej

Jeg har et problem med et webservice kald.
Jeg har en webservice i mit ASP.NET 4.0 website.
Den hedder Shopping.asmx.

Jeg kalder denne webservice fra en js fil på min egen localhost (cassini) eller localhost fra min IIS 7.5. Begge dele virker glimrende. Både med og uden mit namespace "WebShop"

Mit problem er at det ikke virker når jeg lægger det op til mit hosting-udbyder. Jeg får altid en "is undefined" error.
Enten en "WebShop is undefined", eller "Shopping is undefined" afhængig af om jeg kører med eller uden namespace prefix.

Jeg tænker at det er en indstilling der måske kan overskrives i min web.config, men jeg kan simpelthen ikke finde ud af hvilken.

Håber en eller anden kan hjælpe mig herinde.
Avatar billede janus_007 Nybegynder
21. februar 2011 - 21:10 #1
Kan du kalde webservicen igennem en browser? altså hvis du bare smider uri'en direkte ind i adressefeltet.
Avatar billede hulla Novice
22. februar 2011 - 04:27 #2
Ja det kan jeg sagtens, og metoderne virker fint der.
Avatar billede hulla Novice
22. februar 2011 - 14:08 #3
...dog skal det siges at designet når det ses direkte i browseren ser noget mystisk ud.
Det tager en del af designet fra websites css fil med, så det normale asmx design ser jeg ikke.
Det virker dog stadig når jeg trykker Invoke.
Avatar billede janus_007 Nybegynder
22. februar 2011 - 21:21 #4
Du skal være opmærksom på at du ikke kan kalde en webservice fra et andet domæne igennem client side code. Dvs. hvis du kalder din webservice som ligger hos din hosting udbyder fra din egen webserver så vil det fejle.
Avatar billede hulla Novice
23. februar 2011 - 08:56 #5
Det er heller ikke tilfældet, hele websitet ligger hos udbyderen, og  webservicen ligger på samme domæne som js filen.

Jeg har også fat i supporten hos udbyderen og de taler noget om en handler der mangler i web.config.
Jeg kører ASP.NET 4.0.
Avatar billede hooh Nybegynder
17. marts 2011 - 15:07 #6
Du kan evt. lave en ReadHTMLFile.aspx som indlæser din html-fil i din iframe og så kan du lave en replace på alle dine links til http://enellerandenurl.aspx?navigateurl=urlencode(linkUrl)
Avatar billede hulla Novice
18. marts 2011 - 07:57 #7
Det virker med dette indhold i handleres sektion af web.config:

<handlers>
      <remove name="WebServiceHandlerFactory-Integrated" />
      <add name="test jp" path="*.axd" verb="*" modules="IsapiModule" scriptProcessor="C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" resourceType="Unspecified" preCondition="classicMode,runtimeVersionv4.0,bitness32" />
      <add name="ScriptHandlerFactory" verb="*" path="*.asmx" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
      <add name="ScriptHandlerFactoryAppServices" verb="*" path="*_AppService.axd" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
      <add name="ScriptResource" preCondition="integratedMode" verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
      <add name="ChartImg" verb="*" path="ChartImg.axd" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
    </handlers>
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester