[
https://issues.apache.org/jira/browse/TUSCANY-1556?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jean-Sebastien Delfino reopened TUSCANY-1556:
---------------------------------------------
Reopening as this JIRAs give more information about the problem and how to
reproduce it. I'm happy to link them to the umbrella TUSCANY-1544 issue.
I don't agree with postponing the resolution of the JIRA to after 0.99, as
complying with a known XMLschema is the point of using a Web Service binding.
With respect to your comment that the current test case does not fail, that's
because it does not check that the data flowing on the wire is correct. The
test case is insufficient and should be changed to perform that checking. I
described in the JIRA how to see that there is actually a problem.
> Incorrect WSDL generated for service interfaces passing SDO DataObjects
> ------------------------------------------------------------------------
>
> Key: TUSCANY-1556
> URL: https://issues.apache.org/jira/browse/TUSCANY-1556
> Project: Tuscany
> Issue Type: Bug
> Components: Java SCA Axis Binding Extension
> Reporter: Jean-Sebastien Delfino
> Fix For: Java-SCA-Next
>
>
> Here's an easy way to reproduce the problem:
> Add a sleep statement to itest/wsdlless SDOWSDLTestCase.tearDown() to keep
> the server running a while, start that test case, then point your Web browser
> to http://localhost:8085/AccountService?wsdl.
> You'll get a WSDL containing incorrect XSDs, as they are completely different
> from the XSDs representing the SDOs on the AccountService interface. The
> namespaces are not correct, the element and type definitions are not correct
> either.
> <?xml version="1.0" encoding="UTF-8"?>
> <wsdl:definitions
> targetNamespace="http://accountdata.services.account.bigbank"
> xmlns:axis2="http://accountdata.services.account.bigbank"
> xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"
> xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
> xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"
> xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl"
> xmlns:ns="http://accountdata.services.account.bigbank/xsd"
> xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
> xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
> <wsdl:types>
> <xs:schema attributeFormDefault="qualified"
> elementFormDefault="qualified"
> targetNamespace="http://account.bigbank.com/xsd"
> xmlns:ax29="http://account.bigbank.com/xsd"
> xmlns:xs="http://www.w3.org/2001/XMLSchema">
> <xs:element name="AccountLog" type="ax29:AccountLog"/>
> <xs:complexType name="AccountLog">
> <xs:sequence>
> <xs:element name="accountLogEntries" nillable="true" type="xs:anyType"/>
> <xs:element name="stockLogEntries" nillable="true" type="xs:anyType"/>
> </xs:sequence>
> </xs:complexType>
> <xs:element name="AccountReport" type="ax29:AccountReport"/>
> <xs:complexType name="AccountReport">
> <xs:sequence>
> <xs:element name="accountSummaries" nillable="true" type="xs:anyType"/>
> <xs:element name="stockSummaries" nillable="true" type="xs:anyType"/>
> </xs:sequence>
> </xs:complexType>
> <xs:element name="CustomerProfileData" type="ax29:CustomerProfileData"/>
> <xs:complexType name="CustomerProfileData">
> <xs:sequence>
> <xs:element name="address" nillable="true" type="xs:string"/>
> <xs:element name="email" nillable="true" type="xs:string"/>
> <xs:element name="firstName" nillable="true" type="xs:string"/>
> <xs:element name="id" type="xs:int"/>
> <xs:element name="lastName" nillable="true" type="xs:string"/>
> <xs:element name="loginID" nillable="true" type="xs:string"/>
> <xs:element name="password" nillable="true" type="xs:string"/>
> </xs:sequence>
> </xs:complexType>
> <xs:element name="StockSummary" type="ax29:StockSummary"/>
> <xs:complexType name="StockSummary">
> <xs:sequence>
> <xs:element name="company" nillable="true" type="xs:string"/>
> <xs:element name="currentPrice" type="xs:float"/>
> <xs:element name="highPrice" type="xs:float"/>
> <xs:element name="lowPrice" type="xs:float"/>
> <xs:element name="purchaseDate" nillable="true" type="xs:string"/>
> <xs:element name="purchaseLotNumber" type="xs:int"/>
> <xs:element name="purchasePrice" type="xs:float"/>
> <xs:element name="quantity" type="xs:int"/>
> <xs:element name="symbol" nillable="true" type="xs:string"/>
> </xs:sequence>
> </xs:complexType>
> </xs:schema>
> <xs:schema attributeFormDefault="qualified"
> elementFormDefault="qualified"
> targetNamespace="http://accountdata.services.account.bigbank/xsd"
> xmlns:ns0="http://account.bigbank.com/xsd"
> xmlns:xs="http://www.w3.org/2001/XMLSchema">
> <xs:element name="getAccountLog">
> <xs:complexType>
> <xs:sequence>
> <xs:element name="param0" nillable="true" type="xs:int"/>
> </xs:sequence>
> </xs:complexType>
> </xs:element>
> <xs:element name="getAccountLogResponse">
> <xs:complexType>
> <xs:sequence>
> <xs:element name="return" nillable="true" type="ns0:AccountLog"/>
> </xs:sequence>
> </xs:complexType>
> </xs:element>
> <xs:element name="getAccountReport">
> <xs:complexType>
> <xs:sequence>
> <xs:element name="param0" nillable="true" type="xs:int"/>
> </xs:sequence>
> </xs:complexType>
> </xs:element>
> <xs:element name="getAccountReportResponse">
> <xs:complexType>
> <xs:sequence>
> <xs:element name="return" nillable="true" type="ns0:AccountReport"/>
> </xs:sequence>
> </xs:complexType>
> </xs:element>
> <xs:element name="createAccount">
> <xs:complexType>
> <xs:sequence>
> <xs:element name="param0" nillable="true" type="ns0:CustomerProfileData"/>
> <xs:element name="param1" nillable="true" type="xs:boolean"/>
> <xs:element name="param2" nillable="true" type="xs:boolean"/>
> </xs:sequence>
> </xs:complexType>
> </xs:element>
> <xs:element name="createAccountResponse">
> <xs:complexType>
> <xs:sequence>
> <xs:element name="return" nillable="true" type="ns0:CustomerProfileData"/>
> </xs:sequence>
> </xs:complexType>
> </xs:element>
> <xs:element name="getCustomerProfile">
> <xs:complexType>
> <xs:sequence>
> <xs:element name="param0" nillable="true" type="xs:string"/>
> </xs:sequence>
> </xs:complexType>
> </xs:element>
> <xs:element name="getCustomerProfileResponse">
> <xs:complexType>
> <xs:sequence>
> <xs:element name="return" nillable="true" type="ns0:CustomerProfileData"/>
> </xs:sequence>
> </xs:complexType>
> </xs:element>
> <xs:element name="purchaseStock">
> <xs:complexType>
> <xs:sequence>
> <xs:element name="param0" nillable="true" type="xs:int"/>
> <xs:element name="param1" nillable="true" type="ns0:StockSummary"/>
> </xs:sequence>
> </xs:complexType>
> </xs:element>
> <xs:element name="purchaseStockResponse">
> <xs:complexType>
> <xs:sequence>
> <xs:element name="return" nillable="true" type="ns0:StockSummary"/>
> </xs:sequence>
> </xs:complexType>
> </xs:element>
> <xs:element name="sellStock">
> <xs:complexType>
> <xs:sequence>
> <xs:element name="param0" nillable="true" type="xs:int"/>
> <xs:element name="param1" nillable="true" type="xs:int"/>
> </xs:sequence>
> </xs:complexType>
> </xs:element>
> <xs:element name="sellStockResponse">
> <xs:complexType>
> <xs:sequence>
> <xs:element name="return" nillable="true" type="ns0:StockSummary"/>
> </xs:sequence>
> </xs:complexType>
> </xs:element>
> <xs:element name="deposit">
> <xs:complexType>
> <xs:sequence>
> <xs:element name="param0" nillable="true" type="xs:string"/>
> <xs:element name="param1" nillable="true" type="xs:float"/>
> </xs:sequence>
> </xs:complexType>
> </xs:element>
> <xs:element name="depositResponse">
> <xs:complexType>
> <xs:sequence>
> <xs:element name="return" nillable="true" type="xs:float"/>
> </xs:sequence>
> </xs:complexType>
> </xs:element>
> <xs:element name="withdraw">
> <xs:complexType>
> <xs:sequence>
> <xs:element name="param0" nillable="true" type="xs:string"/>
> <xs:element name="param1" nillable="true" type="xs:float"/>
> </xs:sequence>
> </xs:complexType>
> </xs:element>
> <xs:element name="withdrawResponse">
> <xs:complexType>
> <xs:sequence>
> <xs:element name="return" nillable="true" type="xs:float"/>
> </xs:sequence>
> </xs:complexType>
> </xs:element>
> </xs:schema>
> </wsdl:types>
> <wsdl:message name="getAccountReportMessage">
> <wsdl:part name="part1" element="ns:getAccountReport">
> </wsdl:part>
> </wsdl:message>
> <wsdl:message name="sellStockResponseMessage">
> <wsdl:part name="part1" element="ns:sellStockResponse">
> </wsdl:part>
> </wsdl:message>
> <wsdl:message name="depositResponseMessage">
> <wsdl:part name="part1" element="ns:depositResponse">
> </wsdl:part>
> </wsdl:message>
> <wsdl:message name="getAccountLogMessage">
> <wsdl:part name="part1" element="ns:getAccountLog">
> </wsdl:part>
> </wsdl:message>
> <wsdl:message name="withdrawResponseMessage">
> <wsdl:part name="part1" element="ns:withdrawResponse">
> </wsdl:part>
> </wsdl:message>
> <wsdl:message name="createAccountMessage">
> <wsdl:part name="part1" element="ns:createAccount">
> </wsdl:part>
> </wsdl:message>
> <wsdl:message name="getCustomerProfileResponseMessage">
> <wsdl:part name="part1" element="ns:getCustomerProfileResponse">
> </wsdl:part>
> </wsdl:message>
> <wsdl:message name="sellStockMessage">
> <wsdl:part name="part1" element="ns:sellStock">
> </wsdl:part>
> </wsdl:message>
> <wsdl:message name="withdrawMessage">
> <wsdl:part name="part1" element="ns:withdraw">
> </wsdl:part>
> </wsdl:message>
> <wsdl:message name="createAccountResponseMessage">
> <wsdl:part name="part1" element="ns:createAccountResponse">
> </wsdl:part>
> </wsdl:message>
> <wsdl:message name="getAccountLogResponseMessage">
> <wsdl:part name="part1" element="ns:getAccountLogResponse">
> </wsdl:part>
> </wsdl:message>
> <wsdl:message name="depositMessage">
> <wsdl:part name="part1" element="ns:deposit">
> </wsdl:part>
> </wsdl:message>
> <wsdl:message name="purchaseStockResponseMessage">
> <wsdl:part name="part1" element="ns:purchaseStockResponse">
> </wsdl:part>
> </wsdl:message>
> <wsdl:message name="purchaseStockMessage">
> <wsdl:part name="part1" element="ns:purchaseStock">
> </wsdl:part>
> </wsdl:message>
> <wsdl:message name="getAccountReportResponseMessage">
> <wsdl:part name="part1" element="ns:getAccountReportResponse">
> </wsdl:part>
> </wsdl:message>
> <wsdl:message name="getCustomerProfileMessage">
> <wsdl:part name="part1" element="ns:getCustomerProfile">
> </wsdl:part>
> </wsdl:message>
> <wsdl:portType name="AccountDataServicePortType">
> <wsdl:operation name="getAccountLog">
> <wsdl:input message="axis2:getAccountLogMessage"
> wsaw:Action="urn:getAccountLog">
> </wsdl:input>
> <wsdl:output message="axis2:getAccountLogResponseMessage"
> wsaw:Action="urn:getAccountLog">
> </wsdl:output>
> </wsdl:operation>
> <wsdl:operation name="getAccountReport">
> <wsdl:input message="axis2:getAccountReportMessage"
> wsaw:Action="urn:getAccountReport">
> </wsdl:input>
> <wsdl:output message="axis2:getAccountReportResponseMessage"
> wsaw:Action="urn:getAccountReport">
> </wsdl:output>
> </wsdl:operation>
> <wsdl:operation name="createAccount">
> <wsdl:input message="axis2:createAccountMessage"
> wsaw:Action="urn:createAccount">
> </wsdl:input>
> <wsdl:output message="axis2:createAccountResponseMessage"
> wsaw:Action="urn:createAccount">
> </wsdl:output>
> </wsdl:operation>
> <wsdl:operation name="getCustomerProfile">
> <wsdl:input message="axis2:getCustomerProfileMessage"
> wsaw:Action="urn:getCustomerProfile">
> </wsdl:input>
> <wsdl:output message="axis2:getCustomerProfileResponseMessage"
> wsaw:Action="urn:getCustomerProfile">
> </wsdl:output>
> </wsdl:operation>
> <wsdl:operation name="purchaseStock">
> <wsdl:input message="axis2:purchaseStockMessage"
> wsaw:Action="urn:purchaseStock">
> </wsdl:input>
> <wsdl:output message="axis2:purchaseStockResponseMessage"
> wsaw:Action="urn:purchaseStock">
> </wsdl:output>
> </wsdl:operation>
> <wsdl:operation name="sellStock">
> <wsdl:input message="axis2:sellStockMessage"
> wsaw:Action="urn:sellStock">
> </wsdl:input>
> <wsdl:output message="axis2:sellStockResponseMessage"
> wsaw:Action="urn:sellStock">
> </wsdl:output>
> </wsdl:operation>
> <wsdl:operation name="deposit">
> <wsdl:input message="axis2:depositMessage" wsaw:Action="urn:deposit">
> </wsdl:input>
> <wsdl:output message="axis2:depositResponseMessage"
> wsaw:Action="urn:deposit">
> </wsdl:output>
> </wsdl:operation>
> <wsdl:operation name="withdraw">
> <wsdl:input message="axis2:withdrawMessage" wsaw:Action="urn:withdraw">
> </wsdl:input>
> <wsdl:output message="axis2:withdrawResponseMessage"
> wsaw:Action="urn:withdraw">
> </wsdl:output>
> </wsdl:operation>
> </wsdl:portType>
> <wsdl:binding name="AccountDataServiceSOAP11Binding"
> type="axis2:AccountDataServicePortType">
> <soap:binding style="document"
> transport="http://schemas.xmlsoap.org/soap/http"/>
> <wsdl:operation name="getAccountLog">
> <soap:operation soapAction="urn:getAccountLog" style="document"/>
> <wsdl:input>
> <soap:body use="literal"/>
> </wsdl:input>
> <wsdl:output>
> <soap:body use="literal"/>
> </wsdl:output>
> </wsdl:operation>
> <wsdl:operation name="getAccountReport">
> <soap:operation soapAction="urn:getAccountReport" style="document"/>
> <wsdl:input>
> <soap:body use="literal"/>
> </wsdl:input>
> <wsdl:output>
> <soap:body use="literal"/>
> </wsdl:output>
> </wsdl:operation>
> <wsdl:operation name="createAccount">
> <soap:operation soapAction="urn:createAccount" style="document"/>
> <wsdl:input>
> <soap:body use="literal"/>
> </wsdl:input>
> <wsdl:output>
> <soap:body use="literal"/>
> </wsdl:output>
> </wsdl:operation>
> <wsdl:operation name="getCustomerProfile">
> <soap:operation soapAction="urn:getCustomerProfile" style="document"/>
> <wsdl:input>
> <soap:body use="literal"/>
> </wsdl:input>
> <wsdl:output>
> <soap:body use="literal"/>
> </wsdl:output>
> </wsdl:operation>
> <wsdl:operation name="purchaseStock">
> <soap:operation soapAction="urn:purchaseStock" style="document"/>
> <wsdl:input>
> <soap:body use="literal"/>
> </wsdl:input>
> <wsdl:output>
> <soap:body use="literal"/>
> </wsdl:output>
> </wsdl:operation>
> <wsdl:operation name="sellStock">
> <soap:operation soapAction="urn:sellStock" style="document"/>
> <wsdl:input>
> <soap:body use="literal"/>
> </wsdl:input>
> <wsdl:output>
> <soap:body use="literal"/>
> </wsdl:output>
> </wsdl:operation>
> <wsdl:operation name="deposit">
> <soap:operation soapAction="urn:deposit" style="document"/>
> <wsdl:input>
> <soap:body use="literal"/>
> </wsdl:input>
> <wsdl:output>
> <soap:body use="literal"/>
> </wsdl:output>
> </wsdl:operation>
> <wsdl:operation name="withdraw">
> <soap:operation soapAction="urn:withdraw" style="document"/>
> <wsdl:input>
> <soap:body use="literal"/>
> </wsdl:input>
> <wsdl:output>
> <soap:body use="literal"/>
> </wsdl:output>
> </wsdl:operation>
> </wsdl:binding>
> <wsdl:service name="AccountDataService">
> <wsdl:port name="AccountDataServiceSOAP11port"
> binding="axis2:AccountDataServiceSOAP11Binding">
> <soap:address location="http://9.67.28.200:8085/AccountService"/>
> </wsdl:port>
> </wsdl:service>
> </wsdl:definitions>
--
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]