Expand my Community achievements bar.

Learn about Edge Delivery Services in upcoming GEM session

Change WSDL Definition Returned

Avatar

Level 2

I need to control the WSDL definition that LC is returning.  I've got a service that is acting as an SOA message based endpoint.

I need the contract to have one method that is typed, and have all of the types available to the consumer.

The closest I've come is using a single input variable typed as XML, and adding a schema that describes the data to the XML variable.

Once the service is activated the WSDL that is returned is completely generic.  Not even the assign schema in the service is returned.

How do I do contract first web service development, or get LC/Service to use my WSDL file?

Thanks!

Peter

p.s

I can attach WSDL examples if required.  I just didn't want to cluter the post.

7 Replies

Avatar

Level 2

Not even an comment from the Adobe 'experts'?  I'll accept a 'you can't do this right now'.

Avatar

Level 8

I'm pretty sure you can't change the WSDL as its auto-generated by LiveCycle when you activate an application.

Avatar

Level 2

Well it should be possible as JBOSS can do it.  The issue seems to be that LC doesn't have a provision for attaching a WSDL to a process.  Is there any documentation on creating custom processes?  I know you can create a custom component.

Avatar

Level 8

The online documentation (LiveDocs) has quite a bit of stuff on both custom processes and custom components and there is a few DevNet articles on custom components (http://www.adobe.com/devnet/livecycle/articles/dsc_development.html).  The problem is that the WSDL is generated at runtime based on the I/O of the service.  I don't think you can force it.

Avatar

Level 2

Thanks for the info.  Can you reference specific information on custom processes?  I've gone over the custom components documentation but I still don't seem to be able to find anything for processes.

Also, what do you think about building a JBOSS service and calling the LC API?  Is there info on that?

Avatar

Level 8

Custom components are usually for extending LiveCycle.  For example if you want to kick off a 3rd party application as part of your workflow you could write a component that would call that service using the 3rd party API.  Then you add the component to your workflow and you can pass data from your process into the 3rd party app.

As for calling LiveCycle services externally:

There are really two ways to call a LiveCycle service using Java (I assume that is what you mean by a JBoss Service).

1 - using the LiveCycle client SDK

2 - calling the LiveCycle service using SOAP via proxy classes.

LiveDocs and DevNet both have several articles on both of these options:

http://livedocs.adobe.com/livecycle/8.2/programLC/programmer/help/001465.html

http://www.adobe.com/devnet/livecycle/articles/java_soap.html

Avatar

Level 2

What I'm after is whether or not you can alter or configure the way a service is 'created' in LC.  LC is based on JBOSS, so there really isn't any LC specific services they are all JBOSS services that LC is configuring.  It's that configuration that I'm interested in altering.

When you create a process/service in LC it generates the artifacts for a contract last approach to the Web Service/WSDL.  Meaning that JBOSS relies on the code created by LC  to determine how and what the WSDL should be.  JBOSS also supports a Contract First approach to process/service creation.  Contract First means you can specify an actual file for WSDL and JBOSS uses the WSDL file for creation of the service instead.

So is there a way to control/configure how LC generates the services code, or is there information on how the Workbench (which is more than likely using the Eclipse plug in for BPEL) is generating the code?

I'm not expecting any of the above to be available as this is more than likely Adobe property.

The next best thing would be information on how to create your own JBOSS service, and use the LC API to call the processes.  This way you can create a meaningful WSDL definition for consumption and map the parameters to the undefined LC Process.

Anything on that??

Peter