Referens [Få ut fil från det interna nätverket till extern server] Ulf, Nej tyvärr Jag är absolut ingen nätverkstekniker men vet du om det möjligen kan finnas någon typ av NAT eller liknande som också skyddar nätverket?.... Skall kolla på det på måndag, nu är det helg =)Komma förbi proxy till WebService
(Hoppas någon orkar läsa igenom....)
Har lyckats att skapa en webservice som fungerar på localhost.
Jag var tvungen att gå ut med modem för att kunna skapa en reference till den externa webservicen.
Nu verkar det som jag med koden kommer ut, men jag verkar få en timeout med felmeddelande
<code>
Dim strData As String = txtData.Text
Dim gisdata As New com.no_ip.ubweb.gisdata
Dim credentials As NetworkCredential = New NetworkCredential("username", "pwd")
Dim proxy As WebProxy = New WebProxy("HTTP://my_proxy:8080")
proxy.Credentials = credentials
GlobalProxySelection.Select = proxy
gisdata.Credentials = credentials
gisdata.Proxy = proxy
gisdata.WriteGisData(strData)
</code>
<info>
The underlying connection was closed: Unable to connect to the remote server.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.Net.WebException: The underlying connection was closed: Unable to connect to the remote server.
Source Error:
Line 40: <System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/giswebservice/gisdata/WriteGisData", RequestNamespace:="http://tempuri.org/giswebservice/gisdata", ResponseNamespace:="http://tempuri.org/giswebservice/gisdata", Use:=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle:=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)> _
Line 41: Public Sub WriteGisData(ByVal RealTimeData As String)
Line 42: Me.Invoke("WriteGisData", New Object() {RealTimeData})
Line 43: End Sub
Line 44:
Source File: D:\InetPubProj\zzOwnProjects\hdnetSolution\hdnet\Web References\com.no-ip.ubweb\Reference.vb Line: 42
Stack Trace:
[WebException: The underlying connection was closed: Unable to connect to the remote server.]
System.Net.HttpWebRequest.CheckFinalStatus()
System.Net.HttpWebRequest.EndGetRequestStream(IAsyncResult asyncResult)
System.Net.HttpWebRequest.GetRequestStream()
System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)
hdnet.com.no_ip.ubweb.gisdata.WriteGisData(String RealTimeData) in D:\InetPubProj\zzOwnProjects\hdnetSolution\hdnet\Web References\com.no-ip.ubweb\Reference.vb:42
hdnet.put2webservice.Button1_Click(Object sender, EventArgs e) in D:\InetPubProj\zzOwnProjects\hdnetSolution\hdnet\put2webservice.aspx.vb:68
System.Web.UI.WebControls.Button.OnClick(EventArgs e)
System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument)
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument)
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData)
System.Web.UI.Page.ProcessRequestMain()
</info>
Det verkar som om jag för en timeout
Om jag däremot kopplar upp mig med modem och kör koden:
<code>
Dim strData As String = txtData.Text
Dim gisdata As New com.no_ip.ubweb.gisdata
gisdata.Credentials = System.Net.CredentialCache.DefaultCredentials
gisdata.Credentials = credentials
gisdata.Proxy = proxy
gisdata.WriteGisData(strData)
</code>
Då får jag det att funka, men det tar otroliga 25 sekunder att få över en textsträng som är på 345 tecken.
Provade att sätta in en timeout på WS (default är 100000 ms) genom att lägga till en ny rad i koden:
<code>
Dim strData As String = txtData.Text
Dim gisdata As New com.no_ip.ubweb.gisdata
Dim credentials As NetworkCredential = New NetworkCredential("username", "pwd")
Dim proxy As WebProxy = New WebProxy("HTTP://my_proxy:8080")
proxy.Credentials = credentials
GlobalProxySelection.Select = proxy
gisdata.Timeout = 120000
gisdata.Credentials = credentials
gisdata.Proxy = proxy
gisdata.WriteGisData(strData)
</code>
Då får jag timeout efter 45-55 sekunder, vilket jag tyder på att timeout-propertien inte fungerar riktigt som den är avsedd att göra.
Någon med tips om hur jag ev skall komma vidare?
Tack på förhand!Sv: Komma förbi proxy till WebService
kan du ha något liknande trubbel som detta?
http://support.microsoft.com/default.aspx?scid=kb;en-us;330221
/JockeSv: Komma förbi proxy till WebService
Inget av de felmeddelandena stämmer in på det jag får.
Jag tycker att jag sätter alla propertis korrekt i koden ovan, men det verkar inte vilja sig ändå
Med:
Dim credentials As NetworkCredential = New NetworkCredential("username", "pwd")
Dim proxy As WebProxy = New WebProxy("HTTP://my_proxy:8080")
proxy.Credentials = credentials
GlobalProxySelection.Select = proxy
Tycker jag att jag satt rätt på min proxy
Det som jag tycker är lurigt, är att jag kan surfa ut via VS.NET, men jag kan inte connecta med VS.NETs guide för att lägga till referensen till den externa WS. Jag får fram asmx sidan och den visas, men nåt spökar för jag kan inte lägga till den innanför proxyn.Sv: Komma förbi proxy till WebService
Även har jag stött på ett problem tidigare där jag kommit ut men ibland tappat kommunikationen tillbaka. Då verkade det som att svaret från den externa platsen inte kändes igen av frågande app enligt nätverksteknikerna som undersökte frågan då. Efter att de bytt proxy server till en nyare så försvann problemet. Jag försökte den gången att logga in på mina konton hos Brinkster.com, blev inloggad men kunde inte göra något.
Detta har möjligen inget att göra med ditt fall men det kan vara bra att känna till.
/Jocke Sv: Komma förbi proxy till WebService
Det verkar vara proxyn lika förjordat som strular .Försökt skapa en .vb med wsdl.exe, men det lirar inte. Innanför verkar det vara stört omöjligt att få till nånting ut mot utsidan via proxyn.
Lyckats skapa en .vb, utanför proxyn, men då kan jag inte ha med parametrar för proxy/user/pwd, vilket gör att den filen kan jag ändå inte använda.
Får fundera under helgen, mer tips välkomnas.