The WSDL-less feature doesn't honor the XSD type information in the SDO
parameter/return type
----------------------------------------------------------------------------------------------
Key: TUSCANY-1713
URL: https://issues.apache.org/jira/browse/TUSCANY-1713
Project: Tuscany
Issue Type: Bug
Components: Java SCA Axis Binding Extension
Affects Versions: Java-SCA-Next
Reporter: Raymond Feng
Fix For: Java-SCA-Next
In the itest-wsdless test case testClient1b2a3a4a, we use interface.java for
the client side and interface.wsdl for the service side. Generated SDO are used
for both the client and service side. But the current java2wsdl conversion
creates a similar but not equivalent WSDL as the service side. As a result, the
outbound call flows the non-comforming XML in the body of the SOAP message. We
have to work around the unwrapping logic on the service side to tolerate the
incoming data.
<_ns_:createAccount
xmlns:_ns_="http://accountdata.services.account.bigbank"><param0
xmlns="http://accountdata.services.account.bigbank"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p0="commonj.sdo"
xmlns:p1="http://www.bigbank.com/account"
xsi:type="p1:CustomerProfileData"><firstName
xmlns="">petra</firstName><lastName xmlns="">A</lastName><address
xmlns="">home</address><email xmlns="">[EMAIL PROTECTED]</email><loginID
xmlns="">petra</loginID><password xmlns="">ant</password><id
xmlns="">1</id></param0><_ns_:param1>false</_ns_:param1><_ns_:param2>false</_ns_:param2></_ns_:createAccount>
Please note the wrapper and child elements hav
On the response path, with the SDO --> OMElement transformation, it's legal to
not generate xsi:type for the child elements. But it will cause problems on the
client side as it has to take the response child element by position even if
the QName doesn't match and there is no valid xsi:type to help the
deserilization of SDO data.
<p0:createAccountResponse
xmlns:p0="http://www.bigbank.com/account"><customerProfile
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:_typens_="http://account.bigbank.com/xsd"
xsi:type="_typens_:CustomerProfileData"><firstName>petra</firstName><lastName>A</lastName><address>home</address><email>[EMAIL
PROTECTED]</email><loginID>petra</loginID><password>ant</password><id>1</id></customerProfile></p0:createAccountResponse>
Please note the xsi:type is not correct (if we try to derive it from the client
side).
The key issue here is that we don't honor the XSD types behind the complex
parameter/return types even we know the XSD type from databinding
introspections.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]