webForumDet fria alternativet

komma åt WSDL

.NETur .NET

12 svar · 683 visningar · startad av Arizon

Medlem sedan juli 200799 inlägg
Frågan#1

Jag har en WSDL-fil som jag vill komma åt.
I wsdl-filen finns en servicetagg:

<wsdl:service name="OsifService">
      <wsdl:port name="osif" binding="impl:osifSoapBinding">
         <wsdlsoap:address location="http://localhost:8899/osif"/>
      </wsdl:port>
   </wsdl:service>

Hur gör jag nu för att den ska bli åtkomlig? Jag vill komma åt min lokala instans av denna fil. behöver jag lägga upp den i en virtuell katalog i IIS:en eller nåt sånt?

Medlem sedan juli 200799 inlägg
#2

asså för att komma åt den på den nämnda porten behöver jag väl göra den åtkomlig via en webserver eller nåt? eller är jag helt ute o cyklar nu?

Medlem sedan juli 200799 inlägg
#3

Några frågor om webservices:

1. MÅSTE man använda SOAP-anrop för att kommunicera med en webservice?
2. Finns det några schyssta klasser som kan generera ett SOAP-message?
3. Kan man bara anropa de metoder som finns i taggen

<wsdl:portType>

?

Anledningen till att jag frågar är för att jag får ett sånt här felmeddelande:

The request failed with HTTP status 405: Method Not Allowed.

tacksam för svar.

(Det är fredag! :bire :birp )

Medlem sedan dec. 2005664 inlägg
#4

Hej,
SOAP-meddelanden är standard för att kunna utnytja web services, det är ett speciellt specat xml-dokument.
Det finns sätt att skapa upp "hjälpklasser" på både web services sidan och klientsidan.
Sök på web services eller ännu bättre titta på Windows Communication Foundation (WCF).

Vad är det du ska/vill göra. Du kan enkelt som klient till exempel lägga till en web referens genom att peka till den wsdl-fil du har. Då får du grym hjälp i VS.

Berätta lite mer och visa gärna med kod vad du försöker göra.

Medlem sedan juli 200799 inlägg
#5

Jag har en tjänst som presenteras genom en webservice. Jag ska använda den tjänsten. Jag har lagt till den som web reference, och försöker anropa en metod via en redan befintlig facade-klass som inte jag skrivit, som jag trodde var funktionell. Den anropar bara en metod i webservicen utan nåt (synligt) soap-meckande. Jag vet inte om jag inte har konfigurerat min miljö rätt. Jag är lite smått förvirrad i detta. håller på att läsa lite på W3C om webservice, soap och wsdl.

Medlem sedan jan. 2007152 inlägg
Medlem sedan maj 20012 812 inlägg
#7

Arizon skrev:

Jag har lagt till den som web reference, och försöker anropa en metod via en redan befintlig facade-klass som inte jag skrivit, som jag trodde var funktionell. Den anropar bara en metod i webservicen utan nåt (synligt) soap-meckande.

Om du använder dig av VS och du lagt till din method som webreferece och den har skapat en proxyklass till dig som du kan anropa, så har du en fungerande klientproxy som du kan använd dig av i ditt projekt precis som vilken annan klass som helst. Utan nåt (synligt) soap-meckande...

- M

Medlem sedan juli 200799 inlägg
#8

den var sådär, däremot hittade jag denna:

http://aspnet.4guysfromrolla.com/articles/100803-1.aspx

Medlem sedan juli 200799 inlägg
#9

Gladh skrev:

Arizon skrev:

Jag har lagt till den som web reference, och försöker anropa en metod via en redan befintlig facade-klass som inte jag skrivit, som jag trodde var funktionell. Den anropar bara en metod i webservicen utan nåt (synligt) soap-meckande.

Om du använder dig av VS och du lagt till din method som webreferece och den har skapat en proxyklass till dig som du kan anropa, så har du en fungerande klientproxy som du kan använd dig av i ditt projekt precis som vilken annan klass som helst. Utan nåt (synligt) soap-meckande...

- M

Jasså!? fan va sweet. var, när, hur hittar jag denna?!

Medlem sedan dec. 2005664 inlägg
#10

Arizon skrev:

Jasså!? fan va sweet. var, när, hur hittar jag denna?!

Högerklicka på ditt projekt (som ska vara användare av web servicen). Välj lägg till webb referens. Nu kan du ange adressen till din wsdl-fil. Ange ett lämlpligt namn för din wsdl-referens. Nu kan du hitta klasserna som är uppskapade genom att läga till namespacet mha using/import.

Medlem sedan juli 200799 inlägg
#11

Fint som snus! då vet jag hur det fungerar, och då är det inte soap-anrop det är fel på. nåt som strular.. har du erfarenhet av "System.Net.WebException: The request failed with HTTP status 405: Method Not Allowed." ?

I wsdl-filen finns ju taggen <wsdl:portType> och jag inbillar mig att man bara får åtkomst till de metoder som denna tagg presenterar i sina child nodes, men jag kan ju ha fel. Enlighten me please! :i :stud

Medlem sedan dec. 2005664 inlägg
#12

En sökning på google med "System.Net.WebException: The request failed with HTTP status 405: Method Not Allowed", gav en hel del träffar, borde kunna hjälpa dig!

Medlem sedan juli 200799 inlägg
#13

Jag löste det med detta:

Session["challenge"] = "";

Jag hanterade denna session utan att ha instansierat den innan anropet där den skulle användas. så...det var ett trivialt fel som jag slösat en vecka på! :bla

139 ms totalt · 3 externa anrop · v20260731065814-full.b746b907
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
136 ms — hämta tråd, inlägg och bilagor (db)