Can someone explain why this happens ? For a perfect SOAP-message I got "Invalid SOAP Body". Does this means that GWWS does not support CDATA?
The HTTP-Header is:
POST http://10.32.22.60:51209/OCA_SRV HTTP/1.1
User-Agent: Jakarta Commons-HttpClient/3.1
I'm not sure if this is the issue and maybe it's just a typo in your simple SOAP-request message or some weirdness in how the forums rendered what you typed. But normally a CDATA section ends with ]]> yet I don't see that terminating sequence in your post. Also, although you don't explicitly state this, I'm assuming the FML32 fields are of type FLD_STRING. Could you also post your service metadata description of the Tuxedo service?
Oracle Tuxedo Chief Architect
I would give some comments here also other customers can benefit from this.
GWWS does not support CDATA's contents to be mapped to Tuxedo buffer. For XML in Tuxedo STRING case, this is also not a rare usage. Usually the web service programming tool will normalize the XML to a "string" representation and GWWS will delivery the true XML to Tuxedo server. It also applies to Tuxedo service that if a service return a XML string in a Tuxedo STRING buffer, GWWS will normalize it and the web service client will get an exact XML string same as in Tuxedo service.
But if SOAP UI is used to test GWWS service, the normalization has to be done manually.
I wanted to use toXML function and get a string and put it inside CDATA and send it, but this is not possible with GWWS, so I have to normilize it myself as you wrote.
The tuxedo service should be called from a BPEL process and there I have to do something similiar to this:
<xsl:text><?xml version="1.0" encoding="ISO-8859-1"?></xsl:text>
which you cannot do in Design View in JDeveloper 10.1.3.3.4 for example. So the problem is not just Soap UI, but everywhere where you need to put XML as a string in another XML. All our tuxedo services accept XML-string in FI_DATUM element. Therefore we have to normalize it before we call the tuxedo service, instead of just using the string from toXML enclosed in CDATA element.
Not sure why GWWS accepts your last CDATA message:). But I would not like to encourage do that. If the XML string put to the string in programming manner, the normalization at application level is not needed. For example, I can access Tuxedo service through axis by,
String send = "<abc>a</abc>";
TuxedoWebServiceStub stub = new TuxedoWebServiceStub();
TuxedoWebServiceStub.ToUpperWS request = new TuxedoWebServiceStub.ToUpperWS();