cancel
Showing results for 
Search instead for 
Did you mean: 

assign webservice URL dynamically

Former Member
0 Kudos

Hello together,

In MII I'm calling a BI webservice to transfer data from MII to BI. But now I'm facing a problem since the Webservices on the development and production environment of BI are different and it seems that the URL cannot be set dynamically via the link editor depending on a global parameter that represents my MII Development or MII Production environment, respectively.

Does anybody have a solution for this problem?

Kind Regards,

Matthias

Accepted Solutions (1)

Accepted Solutions (1)

agentry_src
Active Contributor
0 Kudos

Hi Matthias,

I do not understand why you cannot build the link dynamically using global properties. The Web Service properties are exposed in the link editor. However, if you can't get it to work using the Web Service action block, try the HTTP Post action block in its place.

Good luck,

Mike

Former Member
0 Kudos

Mike, the web service action has to do a lot of magic to deal with document structure and namespaces in the XML messages, which makes it hard to do dynamically. Also, I've generally found it easier to use the POST action for anything besides trivial web services, since it supports all types of web services, custom headers/authentication, and is easier to "prepare" the XML you want to send to the web service. It does require a bit more pre-existing knowledge of what XML messages are sent back and forth, but this is usually pretty easy to obtain (and to catalog them as reference documents).

agentry_src
Active Contributor
0 Kudos

Hi Rick,

I know that there are a lot of people who just find it easier to use the HTTP Post action block, in part, because they are violating some of the standard web service protocols (not sure which, but that is what they have told me).

But thanks for your explanation. I will keep it in mind when I run into these issues in the future.

Happy New Year!

Mike

Former Member
0 Kudos

Rick,

we are speaking about using the same document structure changing only the final endpoint, typically the location attribute in the soap:address element in the wsdl.

So there should be nothing magic to do in the wsdl action.

Regards

Former Member
0 Kudos

Hi, Mauro.

I understand that. Unfortunately, in the current implementation, the web service configuration (WSDL, endpoints, and related items) are fully resolved when the transaction/action is first loaded. If you were to "re-create" these structures prior to invoking the SOAP call, you'd destroy values that had been assigned from any incoming links (in the current implementation). Additionally, there is currently no exposed method to allow setting the endpoint URL for the specific SOAP operation/binding that you're trying to call.

If you wanted to, you could create a custom action that extended WebServiceAction and did some special handling, but you'd need the source code for the WebServiceAction to do so, and I don't know if SAP is willing to provide that. Sorry to not have better news. If you can talk SAP into letting us extend the WebService action, I can show you exactly what to do.

Rick

Answers (1)

Answers (1)

Former Member
0 Kudos

Matthias,

we experienced exactly the same problem (xMII 12.0.5) We didn' have too much time to further investigate so we switched to HTTP calls instead of Web Services calls.

These two approaches are, however, quite different: I hope that future xMII version will correct what it seems an annoying bug.