Expand my Community achievements bar.

Learn about Edge Delivery Services in upcoming GEM session
SOLVED

HOW to WSDL URL to Web Service: Invoke Web Service in workflow

Avatar

Level 4

have a workflow with 1 step, WebService:Invoke Web Service.  I'd like to be able to pass a string parameter of the end point url to the WSDL URL parameter in the WebService Setting dialogue box as oppose to passing the actual url (http://machine/some_service.svc?wsdl).

The reason is as we migrate the workflow between environments DEV, TEST, etc, we don't want to have to reopen the workflow in each env and update the DEV, TEST end point.

I  tried the following with no success

1.       Create a parameter devURL of type String

2.       By default, set the value to http://machine/some_service.svc?wsdl

3.       Goto the web service call step and set the WSDL URL to the /process_data/@devURL

I get the error:

java.io.FileNotFoundException: \process_data\@devURL

        at org.jboss.net.protocol.file.FileURLConnection.connect(FileURLConnection.java:94)

        at org.jboss.net.protocol.file.FileURLConnection.getInputStream(FileURLConnection.java:103)

        at org.apache.xerces.impl.XMLEntityManager.setupCurrentEntity(Unknown Source)

        at org.apache.xerces.impl.XMLVersionDetector.determineDocVersion(Unknown Source)

        at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)

        at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)

        at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)

        at org.apache.xerces.parsers.DOMParser.parse(Unknown Source)

        at org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown Source)

        at org.apache.axis.utils.XMLUtils.newDocument(XMLUtils.java:369)

        at org.apache.axis.utils.XMLUtils.newDocument(XMLUtils.java:420)

        at org.apache.axis.wsdl.symbolTable.SymbolTable.populate(SymbolTable.java:482)

        at org.apache.axis.wsdl.gen.Parser$WSDLRunnable.run(Parser.java:361)

        at java.lang.Thread.run(Thread.java:595)

I don't believe the WSDL URL parameter can even accept a parameter like the User Name + Password parameters.

Is this possible?  OR how else can this be achieved?

1 Accepted Solution

Avatar

Correct answer by
Level 10

Under the Web Service Options change the 'Option' to use 'variable' instead of 'literal'. Then click on the green + and it'll create a variable of type WebServiceSettingBean.

You can use a setValue before the web service step to configure that variable properly.

Jasmin

View solution in original post

1 Reply

Avatar

Correct answer by
Level 10

Under the Web Service Options change the 'Option' to use 'variable' instead of 'literal'. Then click on the green + and it'll create a variable of type WebServiceSettingBean.

You can use a setValue before the web service step to configure that variable properly.

Jasmin