<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<body link="#355491" alink="#4262a1" vlink="#355491" style="background: #e2e2e2; margin: 0; padding: 20px;">

<div>
        <table cellpadding="0" bgcolor="#FFFFFF" border="0" cellspacing="0" style="border: 1px solid #dadada; margin-bottom: 30px; width: 100%; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
                <tbody>
                        <tr>

                                <td>

                                        <table border="0" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF" style="border: solid 2px #ccc; background: #dadada; width: 100%; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
                                                <tbody>
                                                        <tr>
                                                                <td bgcolor="#000000" valign="middle" height="58px" style="border-bottom: 1px solid #ccc; padding: 20px; -moz-border-radius-topleft: 3px; -moz-border-radius-topright: 3px; -webkit-border-top-right-radius: 5px; -webkit-border-top-left-radius: 5px;">
                                                                        <h1 style="color: #333333; font: bold 22px Arial, Helvetica, sans-serif; margin: 0; display: block !important;">
                                                                        <!-- To have a header image/logo replace the name below with your img tag -->
                                                                        <!-- Email clients will render the images when the message is read so any image -->
                                                                        <!-- must be made available on a public server, so that all recipients can load the image. -->
                                                                        <a href="http://community.jboss.org/index.jspa" style="text-decoration: none; color: #E1E1E1">JBoss Community</a></h1>
                                                                </td>

                                                        </tr>
                                                        <tr>
                                                                <td bgcolor="#FFFFFF" style="font: normal 12px Arial, Helvetica, sans-serif; color:#333333; padding: 20px;  -moz-border-radius-bottomleft: 4px; -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 5px; -webkit-border-bottom-left-radius: 5px;"><h3 style="margin: 10px 0 5px; font-size: 17px; font-weight: normal;">
    Re: Web service client in EJB 3.x - best practice
</h3>
<span style="margin-bottom: 10px;">
    created by <a href="http://community.jboss.org/people/mmusaji">Mustafa Musaji</a> in <i>Beginner's Corner</i> - <a href="http://community.jboss.org/message/624983#624983">View the full discussion</a>
</span>
<hr style="margin: 20px 0; border: none; background-color: #dadada; height: 1px;">

<div class="jive-rendered-content"><p>So I tried using wsconsume.sh directly from a JBoss + CXF and got the following stack</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>org.apache.cxf.tools.common.ToolException: Thrown by JAXB : Two declarations cause a collision in the ObjectFactory class.</p><p>&#160;&#160;&#160; at org.apache.cxf.tools.wsdlto.databinding.jaxb.JAXBBindErrorListener.error(JAXBBindErrorListener.java:41)</p><p>&#160;&#160;&#160; at com.sun.tools.xjc.api.impl.s2j.SchemaCompilerImpl.error(SchemaCompilerImpl.java:286)</p><p>&#160;&#160;&#160; at com.sun.tools.xjc.util.ErrorReceiverFilter.error(ErrorReceiverFilter.java:77)</p><p>&#160;&#160;&#160; at com.sun.tools.xjc.ErrorReceiver.error(ErrorReceiver.java:82)</p><p>&#160;&#160;&#160; at com.sun.tools.xjc.generator.bean.ObjectFactoryGeneratorImpl.populate(ObjectFactoryGeneratorImpl.java:187)</p><p>&#160;&#160;&#160; at com.sun.tools.xjc.generator.bean.PublicObjectFactoryGenerator.populate(PublicObjectFactoryGenerator.java:55)</p><p>&#160;&#160;&#160; at com.sun.tools.xjc.generator.bean.BeanGenerator.&lt;init&gt;(BeanGenerator.java:242)</p><p>&#160;&#160;&#160; at com.sun.tools.xjc.generator.bean.BeanGenerator.generate(BeanGenerator.java:175)</p><p>&#160;&#160;&#160; at com.sun.tools.xjc.model.Model.generateCode(Model.java:286)</p><p>&#160;&#160;&#160; at com.sun.tools.xjc.api.impl.s2j.SchemaCompilerImpl.bind(SchemaCompilerImpl.java:252)</p><p>&#160;&#160;&#160; at com.sun.tools.xjc.api.impl.s2j.SchemaCompilerImpl.bind(SchemaCompilerImpl.java:85)</p><p>&#160;&#160;&#160; at org.apache.cxf.tools.wsdlto.databinding.jaxb.JAXBDataBinding.initialize(JAXBDataBinding.java:374)</p><p>&#160;&#160;&#160; at org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.generateTypes(WSDLToJavaContainer.java:576)</p><p>&#160;&#160;&#160; at org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.processWsdl(WSDLToJavaContainer.java:228)</p><p>&#160;&#160;&#160; at org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.execute(WSDLToJavaContainer.java:128)</p><p>&#160;&#160;&#160; at org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.execute(WSDLToJavaContainer.java:271)</p><p>&#160;&#160;&#160; at org.apache.cxf.tools.common.toolspec.ToolRunner.runTool(ToolRunner.java:103)</p><p>&#160;&#160;&#160; at org.apache.cxf.tools.wsdlto.WSDLToJava.run(WSDLToJava.java:113)</p><p>&#160;&#160;&#160; at org.apache.cxf.tools.wsdlto.WSDLToJava.run(WSDLToJava.java:86)</p><p>&#160;&#160;&#160; at org.jboss.wsf.stack.cxf.tools.CXFConsumerImpl.consume(CXFConsumerImpl.java:224)</p><p>&#160;&#160;&#160; at org.jboss.wsf.spi.tools.cmd.WSConsume.importServices(WSConsume.java:230)</p><p>&#160;&#160;&#160; at org.jboss.wsf.spi.tools.cmd.WSConsume.main(WSConsume.java:81)</p><p>Caused by: com.sun.istack.SAXParseException2: Two declarations cause a collision in the ObjectFactory clas</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>It looks like the WSDL has two declarations either within a schema import or the WSDL itself that clash. Axis may ignore this which is why it's not exactly the best because this can lead to issues later when developing client side code. You can try and use databinding to rename any clashes but you need to know what they are first.</p></div>

<div style="background-color: #f4f4f4; padding: 10px; margin-top: 20px;">
    <p style="margin: 0;">Reply to this message by <a href="http://community.jboss.org/message/624983#624983">going to Community</a></p>
        <p style="margin: 0;">Start a new discussion in Beginner's Corner at <a href="http://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2075">Community</a></p>
</div></td>
                        </tr>
                    </tbody>
                </table>


                </td>
            </tr>
        </tbody>
    </table>

</div>

</body>
</html>