Yes I did schemaLocation fiddling and that did not work for me. The only way I could force wsdl2java generate what I needed is to provide -p, specifiying namespace to java package correspondence. That worked!
It solved my problem but sure looks like a bug just do not know where. I will try to reproduce the problem on a smaller scale. Although, what I had i my mail is the version stripped down to the bare minimum. I will try to produce a zip file, so you could just unzip and try it out. Thanks for your help, Alex. On Tue, Nov 15, 2011 at 10:31 PM, Daniel Kulp <[email protected]> wrote: > > > 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 >
