I get the followwing exception when trying to read a SOAP response from a reply queue on IBM WAS 8.5:
Caught an AxisFault while executing the web service call [org.apache.axis2.AxisFault: Translation error]
org.apache.axis2.AxisFault: Translation error
at org.apache.axis2.util.Utils.getInboundFaultFromMessageContext(Utils.java:512)
at org.apache.axis2.description.OutInAxisOperationClient.handleResponse(OutInAxisOperation.java:370)
at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:416)
at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:228)
at org.apache.axis2.client.OperationClient.execute(OperationClient.java:163)
I could not find anything related to this error by googling or on IBM's websites.
Looking at that Utils code in open source, "Translation error" is probably the message being sent back in a SOAPFault from the remote web service. Why the remote service is sending back a SOAPFault isn't apparent. If you turn on trace of org.apache.*=all:com.ibm.ws.websvcs.*=all you'll be able to see the incoming message in the trace and that might give you more information.
We were able to resolve this by un-cheking the option at
Queues > "Your Queue" > Advanced properties
[]Append RFH version 2 headers to messages sent to this destination
Related
I have 2 APIs:
system API: which is reading a file from the SFTP server
process API: processing the file coming from system API and sending data to backend using batch
I am transforming the payload coming from the read connector in system API to application/csv. Also, I am converting the CSV payload to application/java before inserting the records into the batch.
The process API is working correctly (data going to backend) but in the logs, I am seeing MULE:SOURCE_RESPONSE_SEND.
Root Exception stack trace: java.lang.RuntimeException: Attempted to send invalid data through the HTTP response.
When I am changing the error response of HTTP listener to simple String "Data processing completed". This is the payload I am seeing as a response.
Where exactly might be this error Root Exception stack trace: java.lang.RuntimeException: Attempted to send invalid data through HTTP response coming from?
Thanks in advance!
I have a server written in Java and client written in PHP. How can client catch exception from server if anything goes wrong? I can't find anything about exception handling in gRPC documentation.
Thank you!
For handled exceptions, call responseObserver.onError(). If you pass in a StatusRuntimeException or StatusException (generally created via status.asRuntimeException()) the status code and description will be communicated to the client. Unhandled exceptions within a callback will cancel the RPC and will continue propagating the exception (generally leading in an UncaughtExceptionHandler being called for the executor).
In the response at the client side (php)
http://www.grpc.io/grpc/php/source-class-Grpc.UnaryCall.html#82
the status here will have the code and details fields which will determine the response code and the appropriate message if set as mentioned in Eric's response. Based on that appropriate error handling can be done at the client.
I got an exception frequently while getting and posting activities via GooglePlus Page API. The details are given below:
APIs:
https://www.googleapis.com/plusPages/v2/people/userId/activities/collection
https://www.googleapis.com/plusPages/v2/people/userId/activities
Exception:
{"error":{"message":null,"code":500}}
Can anyone tell me why i am getting the above exception and how to fix this?
I like to call 500 a server hiccup. Normally you can just send the request again and it will work. Why you are getting it only Google knows. Just send it again.
INTERNAL_SERVER_ERROR (500)
Error code Description internalError The request failed due to an
internal error.
You can find it in Googles standard error responses page.
I have to send XML message to my jms proxy service (service receive and send back message over JMS) with ESB Task (scheduler).
I tried 2 solutions.
1 solution
In added task I fill:
message -> my XML
injectTo -> set 'proxy'
proxyName -> my proxy name
The result is that, my jms proxy receive the message but without JMS_Corelation (I guess the message is send local in ESB) and I get that error:
Unexpected error sending message back
org.apache.axis2.AxisFault: Transport out has not been set
at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:432)
at org.apache.synapse.core.axis2.Axis2Sender.sendBack(Axis2Sender.java:163)
at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.send(Axis2SynapseEnvironment.java:321)
at org.apache.synapse.mediators.builtin.SendMediator.mediate(SendMediator.java:94)
at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:77)
at org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:255)
at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.mediateFromContinuationStateStack(Axis2SynapseEnvironment.java:556)
at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.injectMessage(Axis2SynapseEnvironment.java:198)
at org.apache.synapse.core.axis2.SynapseCallbackReceiver.handleMessage(SynapseCallbackReceiver.java:488)
at org.apache.synapse.core.axis2.SynapseCallbackReceiver.receive(SynapseCallbackReceiver.java:170)
at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180)
at org.apache.axis2.transport.local.LocalResponder.handleResponse(LocalResponder.java:214)
at org.apache.axis2.transport.local.LocalResponder.invoke(LocalResponder.java:111)
at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:442)
at org.apache.synapse.core.axis2.Axis2Sender.sendBack(Axis2Sender.java:163)
at org.apache.synapse.mediators.builtin.RespondMediator.mediate(RespondMediator.java:23)
at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:77)
at org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:255)
at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.mediateFromContinuationStateStack(Axis2SynapseEnvironment.java:556)
at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.injectMessage(Axis2SynapseEnvironment.java:198)
at org.apache.synapse.core.axis2.SynapseCallbackReceiver.handleMessage(SynapseCallbackReceiver.java:488)
at org.apache.synapse.core.axis2.SynapseCallbackReceiver.receive(SynapseCallbackReceiver.java:170)
at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180)
If I send this message to queue, all workflow works fine, so it is well configure.
2 solution
In added task I fill:
message -> my XML
to -> my jms endpoint
format -> message format
The result is that, there is no result becasue nothing is happend. My jms proxy service doesn't receive any message.
Someone knows how to fix that?
Maybe there is another way to do that?
Your JMS Proxy is configured to receive messages from a JMS queue or topic.
You should try to write a named sequence that send an appropriate message into your queue or topic. Then, configure your scheduled task to call this sequence :
injectTo = sequence
format = soap11 (for exemple)
soapAction = mySoapAction (if needed)
message = <root>myMessage</root>
sequenceName = YourSequenceThatSendTheMessageToJMS
I am using gSoap to communicate with the web service. I am using Qt to create application that uses gSoap. I am getting following fault message for some of the calls
SOAP 1.1 fault: "http://schemas.microsoft.com/net/2005/12/windowscommunicationfoundation/dispatcher":DeserializationFailed[no subcode]
"The formatter threw an exception while trying to deserialize the message: Error in deserializing body of request message for operation 'GetPendingCommands'. Unexpected end of file. Following elements are not closed: Body, Envelope. Line 2, position 459."
Can someone please explain me what could be wrong with the service?
Thanks
DPatel
If chunking is turned on in your client side code, try turning it off. I seem to recall that you have to do something special with gSoap to get it to support chunking on the server side.
The error message means the client has received a truncated SOAP envelope. This often happens if the web service neglects to flush its output buffer before returning.