SOAP fault in gSoap client - c++

I'm trying to send a message to exchange server using EWS with gSoap. what i have done is:
Set SSL Connection and Auth. with Exchange Server. (This works fine)
Define createItem operation to create message.
Set the receiver info.
Define MessageDispositionType to define type for sendOnly message.
Send CreateItem request to server.
After successful compilation, I have following SOAP fault when run the program (for SOAP version 1.2)
SOAP 1.2 fault: SOAP-ENV:Sender[ns2:ErrorSchemaValidation] "The request failed schema validation: The element 'Items' in namespace 'http://schemas.microsoft.com/exchange/services/2006/messages' has incomplete content. List of possible elements expected: 'Item, Message, CalendarItem, Contact, DistributionList, MeetingMessage, MeetingRequest, MeetingResponse, MeetingCancellation, Task, ReplyToItem, ForwardItem, ReplyAllToItem, AcceptItem, TentativelyAcceptItem, DeclineItem, CancelCalendarItem, RemoveItem, SuppressReadReceipt' in namespace 'http://schemas.microsoft.com/exchange/services/2006/types'." Detail: ErrorSchemaValidation/e:ResponseCode
And after successful compilation, I have following SOAP fault when run the program (for SOAP version 1.1)
SOAP 1.1 fault: SOAP-ENV:MustUnderstand[no subcode] "The data in element 'Action' must be understood but cannot be handled" Detail: [no detail]
What could be possible problem it is? Any help appreciated. thank you.

Related

org.apache.cxf.interceptor.Fault: Unexpected element / WebSphere-Liberty Migration from WebSphere-7

The code that is working in WebSphere-7 is giving the following error in WebSphere Liberty:
javax.xml.ws.soap.SOAPFaultException: Unexpected element {http://example.com/service/Quoting/v2}SubmitRateScenarioResponse found.
Expected {http://example.com/esb/header/v3}ESBHeader.
at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:156)
Caused by:
org.apache.cxf.interceptor.Fault: Unexpected element {http://example.com/service/Quoting/v2}SubmitRateScenarioResponse found.
Expected {http://example.com/esb/header/v3}ESBHeader.
at org.apache.cxf.interceptor.DocLiteralInInterceptor.validatePart(DocLiteralInInterceptor.java:275)
Any help is appreciated.
So, the problem seems to be that the SOAP Message received by the Service contains unexpected content. The client is building a SOAP Message that is violating the contract between the Service and Client. Sorry, I can't give you a better answer without more information.
Understanding what the Service is expecting compared to what the client is sending is key, and finding that would be possible with some more work. To start, I would compare what the Soap Message looks like when sent by the client on v7 to what the client is sending on Liberty by using a tool like tcpmon or fiddler to capture the message.
Were both the client and service migrated to Liberty from WebSphere V7? If you migrated the Service, was it migrated as a binary or rebuilt from a WSDL? If it was rebuilt, comparing the original WSDL from v7 to the rebuilt WSDL might tell you something about how the Service's expectations have changed.
Go through below url . may be you will find your solution
i was getting same error when i tried to hit rest api using postman client .
http://camel.465427.n5.nabble.com/i-am-getting-exception-org-apache-cxf-interceptor-Fault-org-apache-camel-CamelContext-td5742012.html#a5742016
Root cause is - camel-core jar is missed . put jar file on server->lib or apache/lib

SOAP 1.1 "Client Fault" Error

I get the following error when I run a web service client that contacts a remote web service server:
SOAP 1.1 fault: SOAP-ENV:Client[no subcode]
"Client fault"
Detail: [no detail]
I have looked at the client and the server and I can find no faults. Other web server clients can contact web services on the server no problem. The code to the web service client is here, but more than that, I'm actually just wondering how to go about debugging a problem like this one. The web service client and server were constructed using the gSOAP toolkit.
Also, could it have something to do with web service name spaces? I use the ns namespace for all of my webservice applications. See this.
It is likely that there was an EOF or interruption before the response message was fully delivered to the client. Without further details there is no way of knowing for sure.
I suggest to compile the client with -DDEBUG (macro DEBUG set) to generate log files. The log files will be helpful to determine the cause of the problem.
Use the latest version of gSOAP if possible.

Xamarin.iOS with SOAP 1.2

I need to use a SOAP 1.2 web service in Xamarin.iOS but I can't seem to find a way how to make it work. I added a ServiceRefence to my project, I can even send messages, but every time I send a message I get the following exception:
System.Net.WebException: There was an error processing web request: Status code 415(UnsupportedMediaType): Cannot process the message because the content type 'text/xml; charset=utf-8' was not the expected type 'application/soap+xml; charset=utf-8'.
I read that this message indicates, that I'm using a wrong binding. I should use WsHttpBinding instead of BasicHttpBinding, but I can't find WsHttpBinding in Mono.
Any idea how can I make it work?

How to customize SOAP Fault messages in Mule?

How do I send the fault code and fault string in such a way, that after my flow throws an exception, I get the desired error code and message in the SOAP error response (in FaultCode and FaultString fields).
I have a SOAP service that is being called in Mule. I am using a custom-exception-strategy for catching exceptions, and then setting spring-bean properties for code and message fields. The spring properties are being set, but my SOAP response is still the generic SOAP fault.
Also, I read that only MessagingExceptions can be handled in mule. So, how do I reproduce a messagingExcetion to test my code during development?

PeopleSoft - Cannot process SOAP fault messages after consuming web service

PT 8.50.15
We have a new integration with a third party system. They have provided the wsdl and I have used the consume web service wizard to consume it into PeopleSoft. All this does is give you the stub messages with a schema attached to each. I have written some peoplecode to send a test message out to the webservice. When the webservice returns a valid result, I have no problems. However, when the webservice returns a fault message, I get the following error:
Integration Gateway - HttpTargetConnector:ExternalApplicationException. Http status code HttpStatusCode returned : 500. (158,10623)
HttpTargetConnector:ExternalApplicationException. External System responded with an Error status. For Http Status Code explanation please check Http protocol Specifications.
I know the webservice is returning the fault message b/c I have tried the same thing in SOAPUI. Does anyone know why PeopleSoft throws up this error ONLY on the fault message?
In addition to the prior response, the 500 error you are seeing should be followed by any soap fault coming back with the response in the errorLog.html file on your gateway (or msgLog depending on the ig.log.level setting in your integrationgateway.properties file. Check the 'response' section, as well as the stack trace for additional information.
On the routing that you are using, click the 'User Exception' check box. Then you will not get the HTTP 500 error. Evaluate the response from the response message. If it's not zero, you will then be able to parse the SOAP fault and see what the returned faultstring is.
Get your Service operation corrected. I Had same issue, After i changed the SO in this code it started working
&msgRequest = CreateMessage(Operation.Operation_name, %IntBroker_Request);