Your setup looks correct to me.   Is there any chance you can create a small 
testcase that shows the issue that we can look at?   It's usually an issue 
trying to find a schema with the right name.

You could try changing:
 schemaLocation="../xsd/assurance/partner/troubleticket.xsd"

to just:
 schemaLocation="troubleticket.xsd"

but I'm not really sure if that will help.



Dan


On Wednesday, November 09, 2011 4:10:25 PM Alex Shneyderman wrote:
> Hi, all!
> 
> I have a problem with wsdl2java not generating types for a particular
> XSD to the correct package.
> 
> I have a WSDL that imports one XSD which in turn imports another XSD.
> I would like the types from the second XSD go into a pre-determined
> package. They however go into the default. Any hints on how to achieve
> this customization?
> 
> Here is the setup I have. Directory layout goes like this:
> 
> src/main/
>    jaxb/
>        mobile-partner-schema-binding.xjb
>        troubleticket-schema-binding.xjb
>    xsd/
>        assurance/
>            partner/
>               troubleticket.xsd
>        mobile/
>            partner/
>               Mobile_v2.wsdl
>               Mobile_v2.xsd
> 
> Mobile_v2.wsdl:
> <?xml version="1.0" encoding="UTF-8"?>
> <wsdl:definitions name="Mobile"
>     targetNamespace="urn:mobile.ws.test"
>     xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/";
>     xmlns:tns="urn:mobile.ws.test"
>     xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";
>     xmlns:xsd="http://www.w3.org/2001/XMLSchema";>
> 
>     <wsdl:types>
>         <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema";>
>             <xsd:import namespace="urn:mobile.ws.test"
> schemaLocation="Mobile_v2.xsd" />
>         </xsd:schema>
>     </wsdl:types>
> 
> ...
> </wsdl:definitions>
> 
> Mobile_v2.xsd:
> <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema";
>            xmlns="urn:mobile.ws.test"
>            xmlns:tns="urn:mobile.ws.test"
>            xmlns:tt="urn:troubleticket.ws.test"
>            targetNamespace="urn:mobile.ws.test"
>            elementFormDefault="qualified">
> 
>     <xs:import namespace="urn:troubleticket.ws.test"
>                schemaLocation="../../assurance/partner/troubleticket.xsd" />
> ...
> 
> </xs:schema>
> 
> troubleticket.xsd:
> <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema";
>            xmlns="urn:troubleticket.ws.test"
>            targetNamespace="urn:troubleticket.ws.test"
>            elementFormDefault="qualified">
> 
>     <xs:complexType name="TroubleTicket">
>         <xs:annotation>
>             <xs:documentation>Trouble ticket.</xs:documentation>
>         </xs:annotation>
> ...
>     </xs:complexType>
> 
> ...
> 
> </xs:schema>
> 
> 
> troubleticket-schema-binding.xjb:
> <jxb:bindings version="1.0"
>       xmlns:jxb="http://java.sun.com/xml/ns/jaxb";
>       xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";
>       xmlns:xs="http://www.w3.org/2001/XMLSchema";>
> 
>       <jxb:bindings 
> schemaLocation="../xsd/assurance/partner/troubleticket.xsd"
> node="/xs:schema">
>               <jxb:schemaBindings>
>                       <jxb:package name="troubleticket.app.ws.partner.types"/>
>               </jxb:schemaBindings>
>       </jxb:bindings>
> 
> </jxb:bindings>
> 
> the pom config for the plugin is like so:
> 
>                               <wsdlOption>
>                                     <wsdl>
> 
> ${basedir}/src/main/xsd/mobile/partner/Mobile_v2.wsdl
>                                     </wsdl>
>                                     <extraargs>
>                                         <extraarg>-validate</extraarg>
>                                         <extraarg>-b</extraarg>
>                                         <extraarg>
> 
> ${basedir}/src/main/jaxb/mobile-partner-schema-binding.xjb
>                                         </extraarg>
>                                         <extraarg>-b</extraarg>
>                                         <extraarg>
> 
> ${basedir}/src/main/jaxws/troubleticket-definitions-binding.xjb
>                                         </extraarg>
>                                         <extraarg>-verbose</extraarg>
>                                     </extraargs>
>                                 </wsdlOption>
> 
> Somehow, TroubleTicket type gets generated to the default package
> test.ws.troubleticket instead of my expected package that I am trying
> to bind to troubleticket.app.ws.partner.types
> 
> Any ideas on how I can force the CXF's hand on this and have the types
> to generate into the package I want?
> 
> Thanks,
> Alex.
-- 
Daniel Kulp
[email protected]
http://dankulp.com/blog
Talend - http://www.talend.com

Reply via email to