all groups > dotnet web services enhancements > september 2006 >
You're in the

dotnet web services enhancements

group:

WSE Web Service Call Not Returning to Caller


WSE Web Service Call Not Returning to Caller Don
9/28/2006 11:24:02 AM
dotnet web services enhancements:
I'm having a problem with a WSE 3.0 web service that I've developed and
hosted in a Windows Service. The service is accessed via a URL like the
following:
soap.tcp://ServerName:9090/PrinterManagerWs

Some methods seem to work fine (the short running ones) and others (the long
running ones) do the work that they are supposed to perform but never return
to the caller. I've called the problem methods both synchronously and
asychronously and they both fail in the same manner. If I look at the the log
that is produced I see two messages are generated: One that contains the
return information that I am expecting (but never receive) and the other one
contains the following:

<outputMessage utc="9/28/2006 6:02:10 PM"
messageId="urn:uuid:93ad0b38-ec73-4c1f-a370-ae72d0814f99">
<processingStep description="Unprocessed message">
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<soap:Fault>
<faultcode>soap:Server</faultcode>
<faultstring>System.Web.Services.Protocols.SoapHeaderException:
Server unavailable, please try later ---> System.Net.Sockets.SocketException:
No connection could be made because the target machine actively refused it
at Microsoft.Web.Services3.Messaging.SoapTcpConnection.Connect()
at Microsoft.Web.Services3.Messaging.SoapTcpConnection..ctor(Uri
remoteEndpoint, SoapTcpTransportOptions options, ISoapFormatter formatter)
at
Microsoft.Web.Services3.Messaging.SoapTcpTransport.CreateConnection(Uri
transportAddress)
at Microsoft.Web.Services3.Messaging.SoapTcpTransport.GetConnection(Uri
destination)
at
Microsoft.Web.Services3.Messaging.SoapTcpOutputChannel.Send(SoapEnvelope
message)
at
Microsoft.Web.Services3.Messaging.SoapReceiver.DispatchMessage(SoapEnvelope
message)
at
Microsoft.Web.Services3.Messaging.SoapReceiver.ProcessMessage(SoapEnvelope
message)
--- End of inner exception stack trace ---</faultstring>

<faultactor>soap.tcp://ngovdenedlaux1:9090/PrinterManagerWs</faultactor>
</soap:Fault>
</soap:Body>
</soap:Envelope>
</processingStep>
<processingStep description="Entering SOAP filter
Microsoft.Web.Services3.Security.Wse2PipelinePolicy+LegacyFilterWrapper" />
<processingStep description="Exited SOAP filter
Microsoft.Web.Services3.Security.Wse2PipelinePolicy+LegacyFilterWrapper" />
<processingStep description="Entering SOAP filter
Microsoft.Web.Services3.Security.Wse2PipelinePolicy+LegacyFilterWrapper" />
<processingStep description="Exited SOAP filter
Microsoft.Web.Services3.Security.Wse2PipelinePolicy+LegacyFilterWrapper" />
<processingStep description="Processed message">
<soap:Envelope
xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing"
xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Header>

<wsa:Action>http://schemas.xmlsoap.org/ws/2004/08/addressing/fault</wsa:Action>

<wsa:MessageID>urn:uuid:93ad0b38-ec73-4c1f-a370-ae72d0814f99</wsa:MessageID>

<wsa:RelatesTo>urn:uuid:a9b97f6b-07cd-4f2b-9f35-d56ed07b9d7d</wsa:RelatesTo>

<wsa:To>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</wsa:To>
<wsse:Security>
<wsu:Timestamp
wsu:Id="Timestamp-f73c7173-ef24-48c4-9c34-b3f52d80f50c">
<wsu:Created>2006-09-28T18:02:10Z</wsu:Created>
<wsu:Expires>2006-09-28T18:07:10Z</wsu:Expires>
</wsu:Timestamp>
</wsse:Security>
</soap:Header>
<soap:Body>
<soap:Fault>
<faultcode>soap:Server</faultcode>
<faultstring>System.Web.Services.Protocols.SoapHeaderException:
Server unavailable, please try later ---> System.Net.Sockets.SocketException:
No connection could be made because the target machine actively refused it
at Microsoft.Web.Services3.Messaging.SoapTcpConnection.Connect()
at Microsoft.Web.Services3.Messaging.SoapTcpConnection..ctor(Uri
remoteEndpoint, SoapTcpTransportOptions options, ISoapFormatter formatter)
at
Microsoft.Web.Services3.Messaging.SoapTcpTransport.CreateConnection(Uri
transportAddress)
at Microsoft.Web.Services3.Messaging.SoapTcpTransport.GetConnection(Uri
destination)
at
Microsoft.Web.Services3.Messaging.SoapTcpOutputChannel.Send(SoapEnvelope
message)
at
Microsoft.Web.Services3.Messaging.SoapReceiver.DispatchMessage(SoapEnvelope
message)
at
Microsoft.Web.Services3.Messaging.SoapReceiver.ProcessMessage(SoapEnvelope
message)
--- End of inner exception stack trace ---</faultstring>

<faultactor>soap.tcp://ngovdenedlaux1:9090/PrinterManagerWs</faultactor>
</soap:Fault>
</soap:Body>
</soap:Envelope>
</processingStep>
</outputMessage>

Any ideas what might be going on. Is the server have trouble sending the
response back to my client workstation?

btw: Here's the configuration that I'm using on the server:

<microsoft.web.services3>
<diagnostics>
<trace enabled="true" input="PrinterManagerSrv.InputTrace.webinfo"
output="PrinterManagerSrv.OutputTrace.webinfo" />
<detailedErrors enabled="true"/>
</diagnostics>
<messaging>
<executionTimeoutInSeconds value="-1" />
<transports>
<add scheme="soap.tcp" >
<idleTimeoutInMilliSeconds value="600000" />
</add>
</transports>
</messaging>
</microsoft.web.services3>

Thanks, Don ...
RE: WSE Web Service Call Not Returning to Caller Don
9/29/2006 5:37:01 AM
I found out the issue. Apparently on the client side I need to set the same
time values in the app.config that I did on the server. It seems the timeout
value that I set in the web service proxy is not the same thing as:

<idleTimeoutInMilliSeconds value="600000" />

Once I set this setting on the client I got my response that I was expecting.

Don ...

[quoted text, click to view]
AddThis Social Bookmark Button