Olivier,

I found the problem (well, some of it).

In OpenXPKI::Server::Workflow::Persister::DBI, line 28, the date pattern does 
not include seconds (%S) and on my system, the timestamp has seconds present. 
The Strptime returned nothing because the timestamp didn't match the pattern 
and from there things went south, which somehow caused the workflow context 
object to not be created correctly. After updating the line to the following, 
it works fine. I can request and renew certificates just fine.

# "Fixed" code:
my $parser = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d %H:%M:%S', 
on_error => 'croak' );

Thanks so much for your help!

Gerco.

-----Original Message-----
From: Oliver Welter [mailto:[email protected]]
Sent: Wednesday, November 18, 2015 4:09 PM
To: Gerco Dries
Subject: Re: [OpenXPKI-users] "Can't locate object method" running OpenXPki on 
CentOS 7.1

My last guess for today - in OpenXPKI/Workflow/Factory.pm, create_workflow, 
remove the if-condition around this piece of code:

  if (!$context) {
         $context = OpenXPKI::Workflow::Context->new();
  }

And then lets see if it works (this will tell us if the correct factory is 
called at all). If this not works, please start Openxpki with following command:

openxpkictl start --debug OpenXPKI::Workflow:.*:32

Then try to open a workflow and send me the file "stderr.log".

Might I ask what you are intended to do? If you are just looking for a test 
drive, I would suggest you use a debian machine or the vagrant config (which is 
also debian) which is known to work "out of the box".

If you already made your decission towards the project and need support for 
CentOS, I would be happy to welcome you as member of the development team 
helping us to get this problem solved. If this is not an option, you need to 
put some funding against the project or hire us directly. In either case, feel 
free to contact me.

Oliver



Am 18.11.2015 um 21:13 schrieb Gerco Dries:
> It looks like I have only one copy of Workflow installed:
>
> [admin@centosvm ~]$ sudo find / -name Factory.pm [sudo] password for
> admin:
> /root/.cpan/build/Workflow-1.42-x0zu8f/lib/Workflow/Factory.pm
> /root/.cpan/build/Workflow-1.42-x0zu8f/blib/lib/Workflow/Factory.pm
> /root/.cpan/build/Class-Factory-1.06-BgEblf/lib/Class/Factory.pm
> /root/.cpan/build/Class-Factory-1.06-BgEblf/blib/lib/Class/Factory.pm
> /root/.cpan/build/Workflow-1.42-GnlEqk/lib/Workflow/Factory.pm
> /root/.cpan/build/Workflow-1.42-GnlEqk/blib/lib/Workflow/Factory.pm
> /usr/local/lib64/perl5/OpenXPKI/Server/Workflow/NICE/Factory.pm
> /usr/local/lib64/perl5/OpenXPKI/Workflow/Factory.pm
> /usr/local/share/perl5/Class/Factory.pm
> /usr/local/share/perl5/Workflow/Factory.pm
> /home/admin/openxpki-1.2.0/core/server/OpenXPKI/Server/Workflow/NICE/F
> actory.pm
> /home/admin/openxpki-1.2.0/core/server/OpenXPKI/Workflow/Factory.pm
> /home/admin/openxpki-1.2.0/core/server/blib/lib/OpenXPKI/Server/Workfl
> ow/NICE/Factory.pm
> /home/admin/openxpki-1.2.0/core/server/blib/lib/OpenXPKI/Workflow/Fact
> ory.pm
> /home/admin/openxpki-master/core/server/OpenXPKI/Server/Workflow/NICE/
> Factory.pm
> /home/admin/openxpki-master/core/server/OpenXPKI/Workflow/Factory.pm
> /home/admin/openxpki-master/core/server/blib/lib/OpenXPKI/Server/Workf
> low/NICE/Factory.pm
> /home/admin/openxpki-master/core/server/blib/lib/OpenXPKI/Workflow/Fac
> tory.pm
>
> I used a clean VM for this, just OpenXPKI is on it (and compilers, etc). The 
> lines you quoted in /usr/local/share/perl5/Workflow/Factory.pm look like this:
>
>   328 sub create_workflow {
>   329     my ( $self, $wf_type, $context, $wf_class ) = @_;
>   330     $log ||= get_logger();
>   331
>   332     $wf_class = 'Workflow' unless ($wf_class);
>   333
>   334     my $wf_config = $self->_get_workflow_config($wf_type);
>   335     unless ($wf_config) {
>   336         workflow_error "No workflow of type '$wf_type' available";
>   337     }
>
> Looks fine to me,
>
> Gerco.
>
> -----Original Message-----
> From: Oliver Welter [mailto:[email protected]]
> Sent: Wednesday, November 18, 2015 2:25 PM
> To: Gerco Dries
> Subject: Re: [OpenXPKI-users] "Can't locate object method" running
> OpenXPki on CentOS 7.1
>
> Hi Gerco,
>
> I cant find any obvious traces of the problem - I am suspect that your 
> version of Workflow is recent enough, perhaps you have two versions mixed in 
> different include path?
>
> Can you please check the file Workflow/Factory.pm, method create_workflow, 
> around line 330 - there should be a parameter "wf_class" in the constructor 
> like this:
>
>     sub create_workflow {
>       my ( $self, $wf_type, $context, $wf_class ) = @_;
>
>       $wf_class = 'Workflow' unless ($wf_class);
>
> Oliver
> --
> Protect your environment -  close windows and adopt a penguin!
>
>
>
> ---
> This communication may contain confidential and/or privileged information. If 
> you are not the intended recipient (or have received this communication in 
> error) please notify the sender immediately and destroy this communication. 
> Any unauthorized copying, disclosure or distribution of the material in this 
> communication is strictly forbidden.
>
> Deutsche Bank does not render legal or tax advice, and the information 
> contained in this communication should not be regarded as such.
>


--
Protect your environment -  close windows and adopt a penguin!



---
This communication may contain confidential and/or privileged information. If 
you are not the intended recipient (or have received this communication in 
error) please notify the sender immediately and destroy this communication. Any 
unauthorized copying, disclosure or distribution of the material in this 
communication is strictly forbidden.

Deutsche Bank does not render legal or tax advice, and the information 
contained in this communication should not be regarded as such.

------------------------------------------------------------------------------
_______________________________________________
OpenXPKI-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openxpki-users

Reply via email to