Tuesday, September 25, 2012

Trapeze Pass: Connect failed No connection could be made because the target machine actively refused it.

Ok, troubleshooting Trapeze server (service) shell connectivity to the Trapeze Schedule server, I encountered this error- specifically, when the MT portal login page attempts to ping the sched server, you would see the following in the service shell log:

   ==>ERROR at [2012/09/25, 8:17:45:254] cls:, obj::
Caught SocketException in ('T4Client::Call', C:\Trapeze\Core1\TCL\CTpNet.CPP, line=498):
Message=MessageSocket::Connect failed [Service=, Host=10.22.1.58, Port=11001]
SocketError=10061. No connection could be made because the target machine actively refused it.
Cls: SocketException
--Stack Trace--
SrvShell/Dispatch/Scheduling.SchLoad

First make sure the sched server is running. (I believe you'll get the "No connection could be made because the target machine actively refused it." error when the sched server is not running)

Also, note, this is from the version 1 of the portal, when the ping was a bastardized call to load a schedule (sch id = 0).

The things that helped resolve this had to do with the TpNet.ini file associated with the data folder of the Sched Server and work station installation.  In this case the service shell was located on a different machine than the sched server.  However the sched server has to be configured to accept socket connections, and that configuration takes place in the TpNet.ini file.  For example:


# TPNET_ADDRESS    MACHINE_NAME    ADDRESS    PORT    PROTOCOL
#
# Example:
# SCHSRV.DEV1    Toronto_dev_1    192.5.10.4    11001    tcp

Also, I'm not sure how the call stack works, but I've seen this error when the port configuration for the PassInfoServer is out of synch with the TpNet.ini file.  (They should have the same value and be in synch with the services file)


PASS/PassInfoServer/SchedServ/Config/IP  AZ-DEV4
PASS/PassInfoServer/SchedServ/Config/Port  11002


p

In the case, where the IP is an IP address vs. a name, use ipconfig /all to confirm the IP of the machine of the sched server!

access the property through the service shell property page:
http://localhost:8082/context

Also have to have the tcp/udp entries in the services file usually located here:
C:\windows\system32\driver\etc\services

here are some example entries.

SCHSRV.TEST 11001/tcp
SCHSRV.TEST 11001/udp


And check the strvalue of the PropValues to ensure that the configuration is correct for the path of the TpNet.ini file. You can examine the full path it by running this query:

select * from propvalues where strvalue like '%TpNet.ini%'
 

Friday, September 14, 2012

Invalid URI: The format of the URI could not be determined

So, here's another one I was encountered with: Invalid URI: The format of the URI could not be determined





Its a 2003 server running IIS 6.0

Event code: 3005 
Event message: An unhandled exception has occurred. 
Event time: 9/13/2012 1:38:13 PM 
Event time (UTC): 9/13/2012 5:38:13 PM 
Event ID: 00f54b7251484446b49b7d508a57a23b 
Event sequence: 3 
Event occurrence: 1 
Event detail code: 0 


Application information: 

Application domain: /LM/W3SVC/1/Root/PGC-1-129920314485468750 
Trust level: Full 
Application Virtual Path: /PGC 
Application Path: C:\Inetpub\wwwroot\PGC\ 
Machine name: SYSENG2 


Process information: 

Process ID: 1136 
Process name: w3wp.exe 
Account name: NT AUTHORITY\NETWORK SERVICE 


Exception information: 

Exception type: UriFormatException 
Exception message: Invalid URI: The format of the URI could not be determined. 


Request information: 

Request URL: http://syseng2/pgc/DesktopDefault.aspx 
Request path: /pgc/DesktopDefault.aspx 
User host address: 127.0.0.1 
User: 
Is authenticated: False 
Authentication Type: 
Thread account name: NT AUTHORITY\NETWORK SERVICE 


Thread information: 

Thread ID: 1 
Thread account name: NT AUTHORITY\NETWORK SERVICE 
Is impersonating: False 
Stack trace: at System.Uri.CreateThis(String uri, Boolean dontEscape, UriKind uriKind)
at System.Uri..ctor(String uriString)
at System.Web.Services.Protocols.WebClientProtocol.set_Url(String value)
at ASPNET.StarterKit.Portal.TrapezeService.TrapezeMTSrv.set_Url(String value)
at ASPNET.StarterKit.Portal.TrapezeService.TrapezeMTSrv..ctor()
at ASPNET.StarterKit.Portal.Signin.Page_Init(Object sender, EventArgs e)
at System.Web.UI.Control.OnInit(EventArgs e)
at System.Web.UI.UserControl.OnInit(EventArgs e)
at System.Web.UI.Control.InitRecursive(Control namingContainer)
at System.Web.UI.Control.AddedControl(Control control, Int32 index)
at System.Web.UI.ControlCollection.Add(Control child)
at ASPNET.StarterKit.Portal.DesktopDefault.Page_Load(Object sender, EventArgs e)
at System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e)
at System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e)
at System.Web.UI.Control.OnLoad(EventArgs e)
at System.Web.UI.Control.LoadRecursive()
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)



Custom event details: 



For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp. 




 So after a fair amount of digging, the problem turned out to be caused by using a default web.config that had stubbed out addresses for web services. See "[stub value]" below. Once this was changed to a syntax correct address (even if the resource is unavailable), the page rendered.


  <applicationSettings>
    <ASPNET.StarterKit.Portal.Properties.Settings>
      <setting name="ASPNETPortal_FaxService_FaxService" serializeAs="String">
        <value>http://localhost/FaxWebService/FaxService.asmx</value>
      </setting>
      <setting name="ASPNETPortal_MSReportingService2005_ReportingService2005" serializeAs="String">
        <value>http://az-dev4/ReportServer/ReportService2005.asmx</value>
      </setting>
      <setting name="ASPNETPortal_MSReportExecution2005_ReportExecutionService" serializeAs="String">
        <value>http://az-dev4/ReportServer/ReportExecution2005.asmx</value>
      </setting>
      <!--setting name="ASPNETPortal_MapPointService_CommonService" serializeAs="String">
        <value>http://findv3.mappoint.net/Find-30/Common.asmx</value>
      </setting-->
      <setting name="ASPNETPortal_MSReportingService_ReportingService" serializeAs="String">
        <value>http://az-dev4/ReportServer/ReportService.asmx</value>
      </setting>
      <setting name="ASPNETPortal_TrapezeService_TrapezeMTSrv" serializeAs="String">
        <value>[stub value]</value>
      </setting>
    </ASPNET.StarterKit.Portal.Properties.Settings>