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 ...
Don - 29 Sep 2006 13:37 GMT
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 ...
> 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
[quoted text clipped - 127 lines]
>
> Thanks, Don ...