RE: SoapHttpClientProtocol request canceled

Tech-Archive recommends: Repair Windows Errors & Optimize Windows Performance

From: Jit Prasad (JitPrasad_at_discussions.microsoft.com)
Date: 12/06/04


Date: Mon, 6 Dec 2004 12:19:09 -0800

The following is the architecture I have got:
 - Web Service (intranet) on IBM Websphere on Win 2000
 - VB.NET 2002 (.NET v1.0) client exe
 - VB6 client exe
 - VB.NET 2002 (.NETv1.0) client dll that talks to the webservice.
The VB.NET exe and the VB6 exe both use VB.NET dll to sent request/response
to the webservice.

My workstation and the deployment citrix server have both .NET1.0 SP3 and
.NET1.1 SP1.

One thing I noticed is that when the VB.NET exe runs, the exe and the dll,
by default, get loaded under .NET1.0. However, when VB6 runs and calls into
the .NET dll, the dll gets loaded under .NET1.1! (I have not checked which
config file you can set to make the dll load under .NET1.0, even though, by
default, it should load under .NET1.0).

The problem starts, however, when I deploy and run from the citrix terminal
server (with or without using admin rights). If I run .NET exe, then no
problems, as things get loaded under .NET1.0. However, if I run VB6, then I
get the error, as .NET dll gets loaded under .NET1.1. And just to check if
the problem was confined to .NET1.1, I set the .net exe's config file to load
the .NET exe under .NET1.1, and hence the .NET dll, then the error occurs as
well.

The frustrating thing is that if I run the app from my workstation, then
whether it is loaded under .NET1.0 or .NET1.1, there are no problems.

I have regenerated/refreshed the proxy, it does not seem to make any
difference.
...Jit.

"Dan Rogers" wrote:

> Hi,
>
> I'm having trouble figuring out what the specifics are. Is this a service
> that you upgraded to 1.1 and now the existing 1.0 clients are broken? Or
> did you upgrade the client machines to 1.1 and not the server machines and
> not the clients are broken?
>
> Have you tried refreshing the generated service proxies? This will
> probably fix your issue. If you are not able to do this then you are
> probably going to have to keep things stable. To understand what has
> changed, I'd suggest comparing the WSDL contracts for the two situations
> (assuming it was the machine that the service runs on that was upgraded.)
> Unless the two contracts are the same.
>
> If I read you right though, the service side has not changed, but you have
> upgraded the .NET version on the machine that makes the call. Try
> refreshing the proxy and recompiling. This should fix the issue. The only
> other option you have is to add policy statements to the web.config for
> this app that make it load the assemblies needed by the app with 1.0.
>
> I hope this helps
>
> Dan Rogers
> Microsoft Corporation
> --------------------
> Thread-Topic: SoapHttpClientProtocol request canceled
> thread-index: AcTY5kqbUojuZwLcRMqIjEVIIYB8sg==
> X-WBNR-Posting-Host: 210.55.201.197
> From: "=?Utf-8?B?Sml0IFByYXNhZA==?=" <JitPrasad@discussions.microsoft.com>
> Subject: SoapHttpClientProtocol request canceled
> Date: Thu, 2 Dec 2004 19:15:07 -0800
> Lines: 94
> Message-ID: <DC312E9E-3FCE-47E0-B8F2-D7F1D522A9F2@microsoft.com>
> MIME-Version: 1.0
> Content-Type: text/plain;
> charset="Utf-8"
> Content-Transfer-Encoding: 7bit
> X-Newsreader: Microsoft CDO for Windows 2000
> Content-Class: urn:content-classes:message
> Importance: normal
> Priority: normal
> X-MimeOLE: Produced By Microsoft MimeOLE V6.00.3790.0
> Newsgroups: microsoft.public.dotnet.framework.webservices
> NNTP-Posting-Host: TK2MSFTNGXA03.phx.gbl 10.40.1.29
> Path: cpmsftngxa10.phx.gbl!TK2MSFTNGXA01.phx.gbl!TK2MSFTNGXA03.phx.gbl
> Xref: cpmsftngxa10.phx.gbl
> microsoft.public.dotnet.framework.webservices:7784
> X-Tomcat-NG: microsoft.public.dotnet.framework.webservices
>
> I have a working client-side Vb.Net (.net v1.0) app that talks to a
> Webspere
> webservice on a windows 2000 server. The client side app runs on a citrix
> server, also a Windows 2000 server. The app worked ok till I installed .Net
> v1.1 on the citrix, now I get an error when I get the app to use .NET v1.1.
>
> If the app uses .NET v1.0 (with .NET v1.1 stalled), then its ok, however I
> must use v1.1 for other reasons.
>
> Has somebody come across this error before - I am pulling out my hair on
> this one.
>
> The error I get is:
>
> The request was aborted: The request was cancelled. as
> system.Net.ConnectStream.CloseInternal(Boolean internalCall, Bollean
> ignoreSuhtDownCheck)
> at System.Net.ConnectStream.CloseInternal(Boolean internalCall)
> at System.Net.ConnectStream.Close
> at Stste.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String
> methodName, Object[] parameters)
> at GTPSMessagingLib.GTPSRouterService.process3ParmRequest(string
> inputHeaderer, String messageControlPayload, string inputMessage)
>
> The proxy class I use in the app is:
>
> '---------------------------------------------------------------------------
> ---
> ' <autogenerated>
> ' This code was generated by a tool.
> ' Runtime Version: 1.0.3705.0
> '
> ' Changes to this file may cause incorrect behavior and will be lost if
> ' the code is regenerated.
> ' </autogenerated>
> '---------------------------------------------------------------------------
> ---
>
> Option Strict Off
> Option Explicit On
>
> Imports System
> Imports System.ComponentModel
> Imports System.Diagnostics
> Imports System.Web.Services
> Imports System.Web.Services.Protocols
> Imports System.Xml.Serialization
>
> '
> 'This source code was auto-generated by wsdl, Version=1.0.3705.0.
> '
>
> '<remarks/>
> <System.Diagnostics.DebuggerStepThroughAttribute(), _
> System.ComponentModel.DesignerCategoryAttribute("code"), _
>
> System.Web.Services.WebServiceBindingAttribute(Name:="GTPSRouterServiceSoap"
> ,
> [Namespace]:="urn:ServiceRequest")> _
> Public Class GTPSRouterService
> Inherits System.Web.Services.Protocols.SoapHttpClientProtocol
>
> '<remarks/>
> Public Sub New()
> MyBase.New
> Me.Url = "http://localhost/GTPSRRWebService/GTPSRouterService.asmx"
> End Sub
>
>
> <System.Web.Services.Protocols.SoapRpcMethodAttribute("urn:ServiceRequest/pr
> ocess3ParmRequest",
> RequestNamespace:="urn:ServiceRequest",
> ResponseNamespace:="urn:ServiceRequest")> _
> Public Function process3ParmRequest(ByVal inputHeader As String, ByVal
> messageControlPayload As String, ByVal inputMessage As String) As
> <System.Xml.Serialization.SoapElementAttribute("return")> String
> Dim results() As Object = Me.Invoke("process3ParmRequest", New
> Object() {inputHeader, messageControlPayload, inputMessage})
> Return CType(results(0), String)
> End Function
>
>
> '<remarks/>
> Public Function Beginprocess3ParmRequest(ByVal inputHeader As String,
> ByVal messageControlPayload As String, ByVal inputMessage As String, ByVal
> callback As System.AsyncCallback, ByVal asyncState As Object) As
> System.IAsyncResult
> Return Me.BeginInvoke("process3ParmRequest", New Object()
> {inputHeader, messageControlPayload, inputMessage}, callback, asyncState)
> End Function
>
> '<remarks/>
> Public Function Endprocess3ParmRequest(ByVal asyncResult As
> System.IAsyncResult) As String
> Dim results() As Object = Me.EndInvoke(asyncResult)
> Return CType(results(0), String)
> End Function
>
> End Class
>
>



Relevant Pages

  • RE: SoapHttpClientProtocol request canceled
    ... Since this is only happening on the VB client, is there any chance that the ... The VB.NET exe and the VB6 exe both use VB.NET dll to sent request/response ... > inputHeaderer, String messageControlPayload, string inputMessage) ... > Imports System.ComponentModel ...
    (microsoft.public.dotnet.framework.webservices)
  • Premature .dll loading caused by "Project Dependencies" options
    ... The client .exe is a simple MFC query tool. ... But when I debug the .exe, I see that the ODBC driver .dll is being loaded ...
    (microsoft.public.dotnet.languages.vc)
  • Re: basic_string ref across dlls
    ... I had a go at writing a string wrapping class ... that would allow you to pass a string from exe to dll - you can see in the ... This isolates exe strings from dll strings and also means the ... // provided by dll in cpp file, ...
    (microsoft.public.vc.stl)
  • Re: Difference between an EXE and DLL ATL objects
    ... > Actually I am concerned with the difference in terms of handling client ... but the exe handles client requests in paralell. ... > multiple instances of the object inside the ATL DLL or EXE. ...
    (microsoft.public.vc.atl)
  • Difference between an EXE and DLL ATL objects
    ... Actually I am concerned with the difference in terms of handling client ... but the exe handles client requests in paralell. ... multiple instances of the object inside the ATL DLL or EXE. ...
    (microsoft.public.dotnet.languages.vc)