Welcome Serena Central users! CLICK HERE
The migration of the Serena Central community is currently underway. Be sure to read THIS MESSAGE to get your new login set up to access your account.
Highlighted
dkdng
Visitor.
173 views

Calling startworkflowrequest using webservice - Novell IDM PRD

Hi,

I have novell IDM 4.7.1 on Linux and am trying to call a workflow via soap ui. below is the soap request am trying to send from soap ui tool. but getting "Invalid xml - Engine only supports xml that is compliant with ApprovalProcess3_6_1.xsd"

Note: When I use getAllProvisioningRequests, am getting response of all PRDs avaialble in UA driver. This works fine. but having issues while calling startworkflow request.

Please check and help to get the correct SOAP request to start the workflow/PRD.

SOAP Request

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="http://www.novell.com/provisioning/service">
<soapenv:Header/>
<soapenv:Body>
<ser:startWorkFlowRequest>
<!--Optional:-->
<ser:arg0>cn=CreateUser-WebServiceTest,cn=RequestDefs,cn=AppConfig,cn=UserApplication,cn=DriverSet,ou=System,o=MyCompany</ser:arg0>
<ser:arg1>cn=testuser001,ou=Employeesou=Identities,o=MyComapny</ser:arg1>
<ser:arg2>
<ser:dataitem>
<ser:name>reason</ser:name>
<ser:value>
<ser:string>New User Creation</ser:string>
</ser:value>
<ser:name>givenname</ser:name>
<ser:value>
<ser:string>User001</ser:string>
</ser:value>
<ser:name>surname</ser:name>
<ser:value>
<ser:string>User001</ser:string>
</ser:value>
<ser:name>recipient</ser:name>
<ser:value>
<ser:string>User001User001</ser:string>
</ser:value>
</ser:dataitem>
</ser:arg2>
</ser:startWorkFlowRequest>
</soapenv:Body>
</soapenv:Envelope>

 

Error / Response:

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<SOAP-ENV:Body>
<SOAP-ENV:Fault>
<faultcode>Client</faultcode>
<faultstring>Server Error</faultstring>
<detail>
<ns1:AdminException xmlns="http://www.novell.com/provisioning/service" xmlns:ns1="http://www.novell.com/provisioning/service">
<ns2:reason xmlns="http://www.novell.com/soa/af/impl/soap" xmlns:ns2="http://www.novell.com/soa/af/impl/soap">Process id [cn=testuser001,ou=Employeesou=Identities,o=MyComapny], version [cn=testuser001,ou=Employeesou=Identities,o=MyComapny]: Invalid xml - Engine only supports xml that is compliant with ApprovalProcess3_6_1.xsd</ns2:reason>
</ns1:AdminException>
<stackTrace xsi:type="xsd:string">com.novell.soa.af.impl.soap.AdminException={_Reason=Process id [cn=testuser001,ou=Employeesou=Identities,o=MyComapny], version [cn=testuser001,ou=Employeesou=Identities,o=MyComapny]: Invalid xml - Engine only supports xml that is compliant with ApprovalProcess3_6_1.xsd}
at com.novell.soa.af.impl.soap.ProvisioningImpl.createAdminException(ProvisioningImpl.java:403)
at com.novell.soa.af.impl.soap.ProvisioningImpl.startWorkFlow(ProvisioningImpl.java:700)

Thanks

dk

Labels (1)
0 Likes
4 Replies
Knowledge Partner
Knowledge Partner

Re: Calling startworkflowrequest using webservice - Novell IDM PRD

ser:arg2 should really be ser:arg4

 

So of course they are super well named.  This was one of the first SOAP endpoints they did and it is kind the worst in terms of field naming, so such is life. 

0 Likes
dkdng
Visitor.

Re: Calling startworkflowrequest using webservice - Novell IDM PRD

Thanks for the response.

I have changed ser:arg2 to ser:arg4. But now getting no serializer found for "java.lang.RuntimeException".

 

I am not sure what is missing. could you help me further here?

 

Error response:

<SOAP-ENV:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Header/>
<SOAP-ENV:Body>
<SOAP-ENV:Fault>
<faultcode>SOAP-ENV:Server</faultcode>
<faultstring>no serializer found for "java.lang.RuntimeException"</faultstring>
<detail>
<ns1:stackTrace xsi:type="ns1:stackTrace" xmlns:ns1="http://www.novell.com/wssdk">
<ns1:dump xsi:type="xsd:string">com.novell.soa.ws.binding.MarshalerNotFoundException: no serializer found for "java.lang.RuntimeException"
at com.novell.soa.ws.impl.soap.LiteralEncodingStyle.writeObject(LiteralEncodingStyle.java:414)
at com.novell.soa.ws.impl.xml.OutputStreamImpl.writeObject(OutputStreamImpl.java:122)
at com.novell.soa.

 

Thanks

dk

0 Likes
rrawson Honored Contributor.
Honored Contributor.

Re: Calling startworkflowrequest using webservice - Novell IDM PRD

Every field which you see in Designer in the post activity data mapping of the start activity in workflow MUST be represented in your request and spelled correctly case sensitive. Use string as the type of all fields, the other "marshalers" apparently were never implemented.



Also beware of HTML fields as they sometimes appear like they have output from the form in Designer (meaning they would be expected as input into the workflow), but they do not. If you are seeing those in the post activity, there is a problem, in the past I had to delete and recreate those fields, but just noticed that there may now be an option in the properties page of the field to flag the field as no output which is defaulting to true.


0 Likes
rrawson Honored Contributor.
Honored Contributor.

Re: Calling startworkflowrequest using webservice - Novell IDM PRD

I have been struggling with this myself the last few daze and have found the workaround. Using  startWorkflowRequest as presented in the WSDL seems to require a version of the IDMApps that nobody uses because even the start workflow token does not.

The trick was to not use startWorkflowRequest but instead startWithCorrelationIdRequest. I dereenigne this out by starting a workflow to a clear text port and taking a packet capture. Thank you wireshark.

<?xml version="1.0"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<SOAP-ENV:Body>
<ns1:startWithCorrelationIdRequest xmlns="http://www.novell.com/provisioning/service" xmlns:ns1="http://www.novell.com/provisioning/service">
<arg0>cn=acme-Experiment1,cn=RequestDefs,cn=AppConfig,cn=UserApp,cn=IDV,ou=IDM,ou=services,o=acme</arg0>
<arg1>CN=RR222682,OU=users,O=acme</arg1>
<arg2>
<dataitem>
<name>Fields2Show</name>
<value>
<string>FirstName</string>

<string>LastName</string>

<string>Email</string>

</value>
</dataitem>
</arg2>
<arg5>cn=uaadmin,o=acme</arg5>
<arg6>Correlation Identifier</arg6>
</ns1:startWithCorrelationIdRequest>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

 

0 Likes
The opinions expressed above are the personal opinions of the authors, not of Micro Focus. By using this site, you accept the Terms of Use and Rules of Participation. Certain versions of content ("Material") accessible here may contain branding from Hewlett-Packard Company (now HP Inc.) and Hewlett Packard Enterprise Company. As of September 1, 2017, the Material is now offered by Micro Focus, a separately owned and operated company. Any reference to the HP and Hewlett Packard Enterprise/HPE marks is historical in nature, and the HP and Hewlett Packard Enterprise/HPE marks are the property of their respective owners.