]
Alessio Soldano commented on JBWS-4000:
---------------------------------------
[~david.boeren], is it possible to see (privately is fine too) the code for
WebPaymentInternal?
Omit unnecessary external schemas in generated wsdl
---------------------------------------------------
Key: JBWS-4000
URL:
https://issues.jboss.org/browse/JBWS-4000
Project: JBoss Web Services
Issue Type: Feature Request
Components: jbossws-cxf
Affects Versions: jbossws-cxf-4.3.2
Environment: JBoss EAP 6.4.x
Reporter: david.boeren
Priority: Minor
Attachments: CNP_2_2.java, EMIS_CNP_2_2_EAP-43.wsdl.xml,
EMIS_CNP_2_2_EAP-64.wsdl.xml
We have a stateless EJB exposed as a SOAP Web Services endpoint on a EAP 4.3 working
perfectly. We have now ported this to EAP 6.4 and noticed that the WSDL that it generates
includes 3rd party schema definitions for some internal data elements that are not part of
any of the Web Services method's input or output parameter. On EAP 4.3 we do not see
such schema definitions for internal data elements included. Please see attached two WSDL
files, also the source code for EJB.
What I can see is that the implementation of 4 WebMethods [beginWebPayment(),
updateWebPayment(), getWebPayment() & cancelWebPayment()] makes a call to a private
method convertRequest() that returns WebPaymentInternal which in turn contains a private
member that is an instance of a EBay defined object. If I comment out these 4 methods then
the resulting WSDL does not contain three EBay specific schema definitions, otherwise
those three EBay specific schema definitions are included. What I do not understand why
the WSDL need to expose internal data definitions when they are not part of any interface.