Soap Login error on Service Center Web Service

Soap Login error on Service Center Web Service

  

Hi,

I'm trying to automate publishing the current running version of a solution.  (Manual workflow = Service Center, Factory, Solutions, Publish.)

As per http://www.outsystems.com/forums/discussion/10400/automated-1-click-publish-how-to/, I am attempting to consume the /ServiceCenter/Solutions.asmx web service. 

As an intermediate step, I tried executing the GetSolutionIdByNameRequest method from within a Visual Studio c# console application.  However, have received the following error using valid login/password combinations:

System.ServiceModel.FaultException was unhandled
  HResult=-2146233087
  Message=Server was unable to process request. ---> Invalid login
  Source=mscorlib
  StackTrace:
    Server stack trace:
       at System.ServiceModel.Channels.ServiceChannel.HandleReply(ProxyOperationRuntime operation, ProxyRpc& rpc)
       at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout)
       at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs)
       at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation)
       at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)
    Exception rethrown at [0]:
       at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
       at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
       at RefreshOutSystemsDataStore.OutsystemsSolutions.SolutionsSoap.GetSolutionIdByName(GetSolutionIdByNameRequest request)
       at RefreshOutSystemsDataStore.OutsystemsSolutions.SolutionsSoapClient.RefreshOutSystemsDataStore.OutsystemsSolutions.SolutionsSoap.GetSolutionIdByName(GetSolutionIdByNameRequest request) in c:\KM\C#\RefreshOutSystemsDataStore\RefreshOutSystemsDataStore\Service References\OutsystemsSolutions\Reference.cs:line 1437
       at RefreshOutSystemsDataStore.Program.Main(String[] args) in c:\KM\C#\RefreshOutSystemsDataStore\RefreshOutSystemsDataStore\Program.cs:line 27
       at System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)
       at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
       at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
       at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
       at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
       at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
       at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
       at System.Threading.ThreadHelper.ThreadStart()
  InnerException:

Here's the code being executed when the error occurs:  (Actual username/password has been changed to xxx/yyy).

using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.CompilerServices;
using System.Security.Cryptography.X509Certificates;
using System.Text;
using RefreshOutSystemsDataStore.OutsystemsSolutions;


namespace RefreshOutSystemsDataStore
{
  internal class Program
  {
    private static void Main(string[] args)
    {
 
      OutsystemsSolutions.GetSolutionIdByNameRequest Request = new GetSolutionIdByNameRequest();
      Request.username = "xxx";
      Request.password = "yyy";

      Request.solutionName = "All_Applied_Apps";
      string myFullName = "";

      OutsystemsSolutions.SolutionsSoap iOutSoap = new SolutionsSoapClient();
      myFullName = iOutSoap.GetSolutionIdByName(Request).ToString();                 <<<error occurs here>>>
      Console.WriteLine(myFullName);
      Console.ReadKey();
    }

   }

  }

Any assistance you can provide with consuming this web service would be greatly appreciated.

Hi Karen
you need to pass the encrypted password.  Encrypt("yyy") from within outsystems.
I'm stuck at the next point, getting the PublishRunning to publish the last published version of my solution.
Good luck


Hi Richard,
Thanks for sharing this information.   We had contacted Outsystems support for assistance and they told us that the SOAP web service we were attempting to use is for the internal use of the OutSystems Platform and not a supported API for the type of development we were doing.  Based on their reply, we chose not to consume the /ServiceCenter/Solutions.asmx web service.