COM+ Web Service Problem

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.
 
N

Nicholas Paldino [.NET/C# MVP]

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?
 
G

Guest

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.
 
N

Nicholas Paldino [.NET/C# MVP]

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.
 
G

Guest

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.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top