Details
-
Type:
Bug
-
Status:
Resolved
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: 4.0.5
-
Fix Version/s: 5.0.1
-
Component/s: None
-
Security Level: Public
-
- Environment:
- Windows.
Issue Links
| Depends | |||
|---|---|---|---|
|
|||
Activity
| Field | Original Value | New Value |
|---|---|---|
| Priority | Blocker [ 1 ] | |
| Description |
Hi,
we are using PetalsESB with SOAP consumers and SOAP providers : Petals is a kind of layer between the REAL webservice, and the one invoked by our applications. I use PetalsStudio to create the serviceunits and I deploy tham in the install folder of our ESB. The problem is with exceptions : when calling the real webservice with an error in the SOAP packet ( invalid date for example) , we get this : <soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <soap:Body> <soap:Fault> <soap:Code> <soap:Value>soap:Sender</soap:Value> </soap:Code> <soap:Reason> <soap:Text xml:lang="en">Server was unable to read request. ---> There is an error in XML document (12, 47). ---> The string '2010-13-22' is not a valid AllXsd value.</soap:Text> </soap:Reason> <soap:Detail/> </soap:Fault> </soap:Body> </soap:Envelope> When passing thru the ESB, we get for the same error the following <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:Body> <soapenv:Fault> <faultcode xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">soap:Client</faultcode> <faultstring>System.Web.Services.Protocols.SoapException: Server was unable to read request. ---> System.InvalidOperationException: There is an error in XML document (9, 47). ---> System.FormatException: The string '2010-13-13' is not a valid AllXsd value. at System.Xml.Schema.XsdDateTime..ctor(String text, XsdDateTimeFlags kinds) at System.Xml.XmlConvert.ToDateTime(String s, XmlDateTimeSerializationMode dateTimeOption) at System.Xml.Serialization.XmlCustomFormatter.ToDateTime(String value) at System.Xml.Serialization.XmlSerializationReader.ToDateTime(String value) at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReader1.Read19_addabsence() at Microsoft.Xml.Serialization.GeneratedAssembly.ArrayOfObjectSerializer32.Deserialize(XmlSerializationReader reader) at System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader, String encodingStyle, XmlDeserializationEvents events) --- End of inner exception stack trace --- at System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader, String encodingStyle, XmlDeserializationEvents events) at System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader, String encodingStyle) at System.Web.Services.Protocols.SoapServerProtocol.ReadParameters() --- End of inner exception stack trace --- at System.Web.Services.Protocols.SoapServerProtocol.ReadParameters() at System.Web.Services.Protocols.WebServiceHandler.CoreProcessRequest()</faultstring> <detail/> </soapenv:Fault> </soapenv:Body> </soapenv:Envelope> Why is this difference ? We have problems using the second answer in our java code , as it has been designed with the real webservice. Is there an option I have to set in PetalsStudio ? I left all options as default.. Thanks |
Hi,
we are using PetalsESB with SOAP consumers and SOAP providers : Petals is a kind of layer between the REAL webservice, and the one invoked by our applications. I use PetalsStudio to create the serviceunits and I deploy tham in the install folder of our ESB. The problem is with exceptions : when calling the real webservice with an error in the SOAP packet ( invalid date for example) , we get this : {code:xml} <soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <soap:Body> <soap:Fault> <soap:Code> <soap:Value>soap:Sender</soap:Value> </soap:Code> <soap:Reason> <soap:Text xml:lang="en">Server was unable to read request. ---> There is an error in XML document (12, 47). ---> The string '2010-13-22' is not a valid AllXsd value.</soap:Text> </soap:Reason> <soap:Detail/> </soap:Fault> </soap:Body> </soap:Envelope> {code} When passing thru the ESB, we get for the same error the following {code:xml} <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:Body> <soapenv:Fault> <faultcode xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">soap:Client</faultcode> <faultstring>System.Web.Services.Protocols.SoapException: Server was unable to read request. ---> System.InvalidOperationException: There is an error in XML document (9, 47). ---> System.FormatException: The string '2010-13-13' is not a valid AllXsd value. at System.Xml.Schema.XsdDateTime..ctor(String text, XsdDateTimeFlags kinds) at System.Xml.XmlConvert.ToDateTime(String s, XmlDateTimeSerializationMode dateTimeOption) at System.Xml.Serialization.XmlCustomFormatter.ToDateTime(String value) at System.Xml.Serialization.XmlSerializationReader.ToDateTime(String value) at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReader1.Read19_addabsence() at Microsoft.Xml.Serialization.GeneratedAssembly.ArrayOfObjectSerializer32.Deserialize(XmlSerializationReader reader) at System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader, String encodingStyle, XmlDeserializationEvents events) --- End of inner exception stack trace --- at System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader, String encodingStyle, XmlDeserializationEvents events) at System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader, String encodingStyle) at System.Web.Services.Protocols.SoapServerProtocol.ReadParameters() --- End of inner exception stack trace --- at System.Web.Services.Protocols.SoapServerProtocol.ReadParameters() at System.Web.Services.Protocols.WebServiceHandler.CoreProcessRequest()</faultstring> <detail/> </soapenv:Fault> </soapenv:Body> </soapenv:Envelope> {code} Why is this difference ? We have problems using the second answer in our java code , as it has been designed with the real webservice. Is there an option I have to set in PetalsStudio ? I left all options as default.. Thanks |
| Link |
This issue depends on |
| Fix Version/s | 4.4.1 [ 10587 ] |
| Assignee | Nicolas Oddoux [ noddoux ] | Victor NOËL [ vnoel ] |
| Fix Version/s | 4.4.2 [ 10650 ] | |
| Fix Version/s | 4.4.1 [ 10587 ] |
| Fix Version/s | 4.4.2 [ 10650 ] | |
| Fix Version/s | 4.4.3 [ 10684 ] |
| Fix Version/s | 4.4.4 [ 10770 ] | |
| Fix Version/s | 4.4.3 [ 10684 ] |
| Fix Version/s | 4.4.5 [ 10823 ] | |
| Fix Version/s | 4.4.4 [ 10770 ] |
| Assignee | Victor NOËL [ vnoel ] | |
| Fix Version/s | 5.0.1 [ 10867 ] | |
| Fix Version/s | 5.0.0 [ 10823 ] |
| Status | New [ 10000 ] | Open [ 10002 ] |
| Priority | Blocker [ 1 ] | Major [ 3 ] |
| Assignee | Christophe DENEUX [ cdeneux ] |
| Status | Open [ 10002 ] | In Progress [ 10003 ] |
| Status | In Progress [ 10003 ] | Resolved [ 10004 ] |
| Fix Version/s | 5.0.1 [ 10930 ] | |
| Fix Version/s | 5.1.0 [ 10867 ] | |
| Resolution | Fixed [ 1 ] |
| Transition | Status Change Time | Execution Times | Last Executer | Last Execution Date | |||||||||
|
|
|
|
|
|||||||||
|
|
|
|
|
|||||||||
|
|
|
|
|
Hello
The difference is the version of SOAP (1.1 or 1.2). The SOAP fault are not the same according to the version of SOAP. By default the version is 1.1 in the provider role.
Try to use the parameter soap-version to change to the version to 1.2 in the jbi.xml of the provide SU, please. http://doc.petalslink.com/display/petalscomponents/Petals-BC-SOAP+4.1.x