Error with web service created with Process Activator

I need help getting the web service to communicate with Metastorm login:

 

1 - Published a simple Map Process, logged on to the Metastorm web client as user: webservice, password: process to the Devengine service (also worked with the DevDCOM service).

2 - Used Process Activator to create the web service for the Blank Form (Initiate Request)

3 - web service has 8 methods:

BlankFormsInitiateRequest
LoggedIn
Login
Logout
ServiceNames
SetServiceName
StartBlankFormsInitiateRequest
SubmitBlankFormsInitiateRequest

 

4 - wrote a simple .NET web app:

try
{
  WebReference.EmployeeLeaveRequestService wr = new WebReference.EmployeeLeaveRequestService();
  wr.SessionIdSoapHeaderValue = new WebReference.SessionIdSoapHeader();
  wr.PreAuthenticate = true;
  wr.Credentials = System.Net.CredentialCache.DefaultCredentials;
  wr.SetServiceName("Devengine");
  wr.Login("webservice", "process");
}
5 - The first time through, the error for Login is:

System.Web.Services.Protocols.SoapException: Server was unable to process request. ---> Metastorm.ECL.TPObjects.ExceptionType
Source: ERequestBroker
Type: ERequestBroker
Value: No Engines are available in the "Devengine" service.

      The second time through, the error for Login is:

System.Web.Services.Protocols.SoapException was caught
  Message="System.Web.Services.Protocols.SoapException: Server was unable to process request. ---> System.Runtime.Remoting.RemotingException: Cannot create channel sink to connect to URL ''. An appropriate channel has probably not been registered.\n   at System.Runtime.Remoting.RemotingServices.Unmarshal(Type classToProxy, String url, Object data)\n   at System.Activator.GetObject(Type type, String url, Object state)\n   at Metastorm.ECL.RequestBroker.ERequestBroker.EngineInstance()\n   at Metastorm.ECL.RequestBroker.ERequestBroker.SimpleLogin(CultureInfo culture, String clientData, String userName, String password, eErrorResponse& error)\n   at Metastorm.ECL.ESession.Login(String userNameValue, String passwordValue)\n   at Metastorm.ProcessActivator.WebServices.EmployeeLeaveRequestService.Login(String userName, String password) in c:\\Inetpub\\wwwroot\\Employee Leave Request\\App_Code\\Service.cs:line 70\n   --- End of inner exception stack trace ---"
  Source="System.Web.Services"
  Actor=""
  Lang=""
  Node=""
  Role=""
  StackTrace:
       at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)
       at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)
       at WebApplication1.WebReference.EmployeeLeaveRequestService.Login(String userName, String password) in C:\Documents and Settings\maryj\My Documents\Visual Studio 2008\Projects\WebApplication1\WebApplication1\Web References\WebReference\Reference.cs:line 127
       at WebApplication1._Default.Button1_Click(Object sender, EventArgs e) in C:\Documents and Settings\maryj\My Documents\Visual Studio 2008\Projects\WebApplication1\WebApplication1\Default.aspx.cs:line 33
  InnerException:

 

6 - went back to the server to browse and invoke the methods

7 - the ServiceNames method only returned the one service name DevDCOM

8 - the SetServiceName method returned HTTP 500 - Internal server error when invoked with DevDCOM as servicename

 

I have included my EngineServiceConfig.xml and my SSO js scripts.  The SSO scripts are in the following order:

0  eSSO_Web_DomainRemoved.js
1 eSSO_Win32_DomanRemoved.js
2 eWSLDAPAuth.js
3 eSSOError.js
4 eSSO_Web.js

Tagged:

Comments

  • Not sure what version you're on - I saw this in the 9.2 designer user guide - there is a stormzo sample in your program files/metastorm folder...

     

    Instantiate the Service Client

    Stormzo.RegistryServiceClient stormzoService = new

    Stormzo.RegistryServiceClient();

    Pass the user name and password

    FormField[] loginData = new FormField[] {

    new TextField() { Name = "username", Value = "Sysadmin", Culture

    = CultureInfo.InvariantCulture.ToString() },

    new TextField() { Name = "password", Value =

    PasswordEncrypt("Metastorm"), Culture =

    CultureInfo.InvariantCulture.ToString() } };

    Retrieve the session state

    ServiceSessionState eclServiceSession =

    stormzoService.Login("WEB;", 0, "", loginData);

    Start an action

    MBPM Version 9.2

    MBPM Version 9.2 June 2012 Page 365

    BlankFormsRegistrationFormAction bfAction =

    stormzoService.StartBlankFormsRegistrationForm(eclServiceSession)

    ;

     

     

    I use the ecl but have never used the process activator.  However, the method in which the pdf file said to connect to the engine looks identical.  The ecl way requires adding Metastorm dlls and a xml entry to the web.config file in your visual studio project (this sdk - with dlls / help files can be downloaded from the customer service site).