COM+ Web Service Problem

  • Thread starter Thread starter Guest
  • Start date Start date
G

Guest

I have a unmanaged (written in Delphi 6) COM+ Web Service I am accessing
through C#.NET. The Web Service takes an string containing a formatted xml
read through StreamReader.
The problem I am having is that the SOAP I am passing is being truncated. I
know this to be the problem as I have checked the outgoing SOAP message in
nettool and that is where the truncation appears, the truncation can differ
even if the same message is posted over and over.
If I write .NET a proxy Web Service that installs on the destination server
then pass the messge to the proxy server, which in turn passes to a COM+ dll,
the string passes without poblems.

I would like to by pass this stage if possible as it requires the string to
be processes twice and this can be very expensive as I am passing thousands
of string many of them being between 1 and 10 meg.

Any help would be appreciated.
 
Steven,

How are you accessing the web service in .NET on the client side? It
looks like you are creating the request manually to me.

Are you creating a proxy by setting a web-reference in VS.NET to the
COM+ component exposed as a web service?
 
I add a Web Reference to the WSDL file on my local machine so I end up with
http://locahost/blahblah.wsdl.

This give me the Web Reference and proxy I need.

The messages I post can goto one of many servers so I programatically change
the url from my machine to the machine I wish to post to. All server are
running the same patch of the Web Service.
I call the Web Service by:

{

blahblah blah = new blahblah();
blah.url = string.Format("http://{0}/blahblah.wsdl", someserverIPorName);
int result = blah.DoSomeThing(stringOfXmlMessage);
}

as you can see the Web Service returns an int, I don't suppose you really
need to know that though.

Cheers so far

Steven.

Nicholas Paldino said:
Steven,

How are you accessing the web service in .NET on the client side? It
looks like you are creating the request manually to me.

Are you creating a proxy by setting a web-reference in VS.NET to the
COM+ component exposed as a web service?


--
- Nicholas Paldino [.NET/C# MVP]
- (e-mail address removed)

Steven said:
I have a unmanaged (written in Delphi 6) COM+ Web Service I am accessing
through C#.NET. The Web Service takes an string containing a formatted xml
read through StreamReader.
The problem I am having is that the SOAP I am passing is being truncated.
I
know this to be the problem as I have checked the outgoing SOAP message in
nettool and that is where the truncation appears, the truncation can
differ
even if the same message is posted over and over.
If I write .NET a proxy Web Service that installs on the destination
server
then pass the messge to the proxy server, which in turn passes to a COM+
dll,
the string passes without poblems.

I would like to by pass this stage if possible as it requires the string
to
be processes twice and this can be very expensive as I am passing
thousands
of string many of them being between 1 and 10 meg.

Any help would be appreciated.
 
Steven,

Are you constructing your own soap and then passing it as a parameter?
This seems odd to me, since you don't have to really do that (the proxy and
the framework do that for you).


--
- Nicholas Paldino [.NET/C# MVP]
- (e-mail address removed)

Steven said:
I add a Web Reference to the WSDL file on my local machine so I end up with
http://locahost/blahblah.wsdl.

This give me the Web Reference and proxy I need.

The messages I post can goto one of many servers so I programatically
change
the url from my machine to the machine I wish to post to. All server are
running the same patch of the Web Service.
I call the Web Service by:

{

blahblah blah = new blahblah();
blah.url = string.Format("http://{0}/blahblah.wsdl", someserverIPorName);
int result = blah.DoSomeThing(stringOfXmlMessage);
}

as you can see the Web Service returns an int, I don't suppose you really
need to know that though.

Cheers so far

Steven.

Nicholas Paldino said:
Steven,

How are you accessing the web service in .NET on the client side? It
looks like you are creating the request manually to me.

Are you creating a proxy by setting a web-reference in VS.NET to the
COM+ component exposed as a web service?


--
- Nicholas Paldino [.NET/C# MVP]
- (e-mail address removed)

Steven said:
I have a unmanaged (written in Delphi 6) COM+ Web Service I am accessing
through C#.NET. The Web Service takes an string containing a formatted
xml
read through StreamReader.
The problem I am having is that the SOAP I am passing is being
truncated.
I
know this to be the problem as I have checked the outgoing SOAP message
in
nettool and that is where the truncation appears, the truncation can
differ
even if the same message is posted over and over.
If I write .NET a proxy Web Service that installs on the destination
server
then pass the messge to the proxy server, which in turn passes to a
COM+
dll,
the string passes without poblems.

I would like to by pass this stage if possible as it requires the
string
to
be processes twice and this can be very expensive as I am passing
thousands
of string many of them being between 1 and 10 meg.

Any help would be appreciated.
 
No I am allowing the proxy and framework to construct the soap, the XML I am
passing is the string data. The XML is an internal format.

The process is,
I read an xml file from the hard drive, this is stored in a string, I then
pass the string as a paramter to the COM+ web service allowing the framework
to do all the hard work of creating the SOAP message.

Nicholas Paldino said:
Steven,

Are you constructing your own soap and then passing it as a parameter?
This seems odd to me, since you don't have to really do that (the proxy and
the framework do that for you).


--
- Nicholas Paldino [.NET/C# MVP]
- (e-mail address removed)

Steven said:
I add a Web Reference to the WSDL file on my local machine so I end up with
http://locahost/blahblah.wsdl.

This give me the Web Reference and proxy I need.

The messages I post can goto one of many servers so I programatically
change
the url from my machine to the machine I wish to post to. All server are
running the same patch of the Web Service.
I call the Web Service by:

{

blahblah blah = new blahblah();
blah.url = string.Format("http://{0}/blahblah.wsdl", someserverIPorName);
int result = blah.DoSomeThing(stringOfXmlMessage);
}

as you can see the Web Service returns an int, I don't suppose you really
need to know that though.

Cheers so far

Steven.

Nicholas Paldino said:
Steven,

How are you accessing the web service in .NET on the client side? It
looks like you are creating the request manually to me.

Are you creating a proxy by setting a web-reference in VS.NET to the
COM+ component exposed as a web service?


--
- Nicholas Paldino [.NET/C# MVP]
- (e-mail address removed)

I have a unmanaged (written in Delphi 6) COM+ Web Service I am accessing
through C#.NET. The Web Service takes an string containing a formatted
xml
read through StreamReader.
The problem I am having is that the SOAP I am passing is being
truncated.
I
know this to be the problem as I have checked the outgoing SOAP message
in
nettool and that is where the truncation appears, the truncation can
differ
even if the same message is posted over and over.
If I write .NET a proxy Web Service that installs on the destination
server
then pass the messge to the proxy server, which in turn passes to a
COM+
dll,
the string passes without poblems.

I would like to by pass this stage if possible as it requires the
string
to
be processes twice and this can be very expensive as I am passing
thousands
of string many of them being between 1 and 10 meg.

Any help would be appreciated.
 
Back
Top