Mule Web Service Consumer Warning : Operation Messages With More then 1 Part Are Not Supported - mule

Hi I am working with Mule Web Service Consumer and i was trying to call operation with Multiple Parameters it is warning me that
Warning : Operation Messages With More then 1 Part Are Not Supported
I just want to pass multiple parameters to access my SOAP method to achieve the task.
Is this the problem with Web Service Consumer or is their any way to deal with this.

I'm afraid this is a known limitation of the web services consumer. However you can accomplish this with the cxf component.

I having the same issue and found some information around it ...
There is a improvement logged in JIRA, may help if you vote for it :)
This link suggests that you can still use WSConsumer but need to do some hand crafting of the request XML ... I could not understand what that exactly it meant so if anyone has an example on it would be great
PS: The problem I had with using CXF component is that it does not play well with the new Dataweave transformer as the Dataweave needs to be placed within the response block and from there it cannot datasense the response coming out from the CXF component

The Solution here is very simple. You just have to comment other messages and then load metadata for non-commented message (for one which you're trying to load metadata). Repeat this procedure for all the other messages and you're good to go.
Hope this helps !

Related

How do I handle and return a human readable error in a Java Azure Function app?

How do I handle and return a human readable error in a Java Azure Function app?
All examples of this on a Google search, are just simple instructions on how to do a try-catch, which is not my question.
More specfically, how do we design the return status code and the response body of the request, in a way that provides the most flexibility to a wide array of situations?
Given that we are not integrating Spring-Boot in this case, and that we do not have access to anything Spring.
Given that my API generally returns an object that we will call Pojo1, on error, what is the best way to return a informative message.
NOTE: Of course, I do know there are situations where you want security through obscurity, in which case I would probably choose logging errors to app insights. This is not my question though.
Well, you can set custom headers while returning the request. This
can be done using a setHeader function.
You can also use azure service bus or event grid which will carry
specific messages regarding the errors.
Also, you can use azure monitoring which collect all the error and
notify you when everything happens.
Refer this article by Eugen Paraschiv for indepth explanation on how to use setheader.
Refer this documentation on azure service bus and this documentation on event grid.
Refer this documentation on azure monitoring logs.

advice handler on aws outbound channel adapter

In the past I have been able to apply advice chain handlers on different outbound channel adapters. I am trying to do the same on int-aws:s3-outbound-channel-adapter but its not allowing that. Does this component not allows this behavior. Basically I am interested in finding out when the adapter completes the upload of a file to S3.
<int-aws:s3-outbound-channel-adapter
id="s3-outbound" channel="files" bucket="${s3.bucket}"
multipart-upload-threshold="5192" remote-directory="${s3.remote.dir}"
accessKey="${accessKey}" secretKey="${secretKey}">
THIS DOESNT WORKS - throws an error !!!
<int:request-handler-advice-chain>
</int:request-handler-advice-chain>
</int-aws:s3-outbound-channel-adapter>
Right, that isn't allowed by the XSD. Feel free to raise a JIRA on the matter.
But that doesn't matter that it doesn't work at all.
If you are on Spring Integration 4.x already you can move that <int-aws:s3-outbound-channel-adapter> to the Java & Annotation configuration using #Bean and #ServiceActivator for the AmazonS3MessageHandler.
Where #ServiceActivator has adviceChain attribute to specify bean references to your Advices.
... or you can do that using generic <int:outbound-channel-adapter> and specify AmazonS3MessageHandler as raw <bean> for the ref of the first one.
HTH

What should the payload have? Mule ESB - Studio

Im new at Mule. I saw some examples of people who had all the information stored in this part of the message called 'payload', Mule Doc is not the greatest so i hope you can explain me this.
I have seen that they recive the information and access to it this way
#[payload.age]
but in my case (just trying) I discovered that my information (that comes from the http POST request ) is accesible this way
#[message.inboundProperties.age]
What's the diferece? im always getting a payload with information that i dont know anything about.
in this image i show you a simple flow of my App, just as example.
Ty
Actually, the documentation for Mule is now very solid.
Here is a great explanation of the structure of a Mule message: http://www.mulesoft.org/documentation/display/current/Mule+Message+Structure
You can't really use Mule without having some fundamentals: I strongly suggest you got through these first steps http://www.mulesoft.org/documentation/display/current/Mule+Fundamentals

Apache-ODE ProcessManagement

I can access this API/WS through
http://localhost:8080/ode/processes/ProcessManagement?wsdl.
I would like to get the Process Info of a Process through this service and active it.
The serivce has the matching operations getProcessInfo and activate.
With listAllProcesses I get all Processes of a delpoyed package.
For getProcessInfo/activate I need the Process pid.
I get a <ns:pid>, using this gets me a load of Exceptions.
Using the name of the process and other stuff I receive earlier doesn't work either.
The pid is of type QName, perhaps thats the root of the problem.
However I don't now how to typecast here.
(Tried all with the eclipse Web Services Explorer and soapUI)
question: How does a proper request for both Operations look like?
When I try to consume the webservice with axi2 via eclipse, there is a undeclared variable local in the AnySimpleType class. I'm not keen on using the service this way.
But since I'm already writing a Client for the DeploymentService I thought about this approach.
question: How do I properly access the ProcessManagement?
EDIT: I have a simular problem with the DeploymentService and the undeploy Operation.
EDIT2: I figured the Problem with the DeploymentService undeploy out.
I had to get the Packagename as String. Then a made a javax.xml.namespace.QName out of it. Then I used the setPackageName of said undeploy operation.
Answer to question number 1:
soapUI with listAllProcesses returns
<ns:pid>{ode/bpel/unit-test}HelloWorld2-1</ns:pid>
getProcessInfo wants
<pmap:getProcessInfo>
<pid>?</pid>
</pmap:getProcessInfo>
Now I replaced <pid>?</pid> with
<pid xmlns:odetest="http://ode/bpel/unit-test">odetest:HelloWorld2-1</pid>
and it worked like a charm.
I remember that there was an issue with parameter ordering when using the Axis2 generated WSDL. Could you try if building a request against the original WSDL located at http://localhost:8080/ode/deployment/services/ProcessManagement works?
EDIT: Now that I got the question correctly, the problem is that ODE expects the QName to be serialized differently, i.e. in the XML way instead of the Java way. Thus, instead of <ns:pid>{ode/bpel/unit-test}HelloWorld2-1</ns:pid> the correct notation is <ns:pid xmlns:odetest="ode/bpel/unit-test">odetest:HelloWorld2-1</ns:pid>.

Coldfusion - Firstdata Global Gateway - Need help getting started

I’m using Coldfusion 9,0,0,251028 on Windows 7 64-bit.
I'm trying to change credit card processors for a website. I've read the integration guide for the Web Service API v 4.0, but it doesn't give me much in the way of how I integrate with coldfusion to build the xml that gets enclosed in SOAP and sent.
I've talked to Firstdata's second level support and was told they don't help with programming beyond troubleshooting error codes. They also told me they have no forum concerning the web service API.
What kind of tags in coldfusion would I use to start this transaction? Does anyone know where I could find an example or instructions besides the web service api integration guide?
Here's some recommended reading on doing SOAP with ColdFusion:
Making SOAP Web Service Requests With ColdFusion And CFHTTP
SOAP Request Functions
Troubleshooting SOAP Requests and Responses
I've always found SOAP to be a pain in the ass, but if that's the only way to go, the three links above should get you there.
You will want to look at cfobject and cfinvoke. I assume you have the WSDL url, so the first thing I would do is try that like this:
<cfobject webservice = "WSDL URL" name = "testCall" />
<cfdump var="#testCall#"/>
This should show you the available methods. Then you would call those message using cfinvoke:
<cfinvoke webservice = "#testCall#" method = "methodName" returnvariable="returnData" />
Then you could use the return data however you need. But a god start is to just dump it out and see what it looks like.
<cfdump var="#returnData#" />